From 96c084f7c3813c767e7555ed377f33f13a3db9d1 Mon Sep 17 00:00:00 2001 From: Dan Walsh Date: Wed, 3 Apr 2013 11:26:49 -0400 Subject: [PATCH] Move sepolicy to policycoreutils-devel pacage, since most of it is used for devel - Apply Miroslav Grepl Patches for sepolicy -- Fix generate mutually groups option handling -- EUSER is used for existing policy -- customize options can be used together with admin_domain option -- Fix manpage.py to generate correct man pages for SELinux users -- Fix policy *.te file generated by customize+writepaths options -- Fix install script for confined_admin option --- policycoreutils-rhat.patch | 1106 ++++++++++++++++++++++++++++++++++-- policycoreutils.spec | 38 +- 2 files changed, 1097 insertions(+), 47 deletions(-) diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch index eb961ff..061dd5b 100644 --- a/policycoreutils-rhat.patch +++ b/policycoreutils-rhat.patch @@ -984,7 +984,7 @@ index e84995e..a60b20e 100644 #: booleans.py:233 msgid "Allow xguest users to mount removable media" diff --git a/policycoreutils/po/gu.po b/policycoreutils/po/gu.po -index 165b892..074abad 100644 +index 165b892..148719d 100644 --- a/policycoreutils/po/gu.po +++ b/policycoreutils/po/gu.po @@ -5,13 +5,14 @@ @@ -999,7 +999,7 @@ index 165b892..074abad 100644 "POT-Creation-Date: 2013-01-04 12:01-0500\n" -"PO-Revision-Date: 2013-01-04 17:02+0000\n" -"Last-Translator: dwalsh \n" -+"PO-Revision-Date: 2013-03-26 08:31+0000\n" ++"PO-Revision-Date: 2013-04-01 09:26+0000\n" +"Last-Translator: sweta \n" "Language-Team: Gujarati \n" "MIME-Version: 1.0\n" @@ -1046,7 +1046,7 @@ index 165b892..074abad 100644 #: ../semanage/seobject.py:1763 ../semanage/seobject.py:1768 #: ../semanage/seobject.py:1824 ../semanage/seobject.py:1906 -@@ -2173,7 +2174,7 @@ msgstr "પેચ કે જેમાં ઉત્પન્ન થયેલ SELi +@@ -2173,11 +2174,11 @@ msgstr "પેચ કે જેમાં ઉત્પન્ન થયેલ SELi #: ../sepolicy/sepolicy.py:207 msgid "name of the OS for man pages" @@ -1055,6 +1055,11 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy.py:209 msgid "Generate HTML man pages structure for selected SELinux man page" +-msgstr "" ++msgstr "પસંદ થયેલ SELinux મુખ્ય પાનાં માટે HTML મુખ્ય પાનાં બંધારણને પેદા કરો" + + #: ../sepolicy/sepolicy.py:213 + msgid "All domains" @@ -2225,7 +2226,7 @@ msgstr "બુલિયનની જાણકારીને જોવા મા #: ../sepolicy/sepolicy.py:280 @@ -1078,6 +1083,34 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy.py:362 msgid "Generate SELinux Policy module template" +@@ -2259,15 +2260,15 @@ msgstr "SELinux પોલિસી મોડ્યુલ ટૅમ્પલે + + #: ../sepolicy/sepolicy.py:365 + msgid "Enter domain type which you will be extending" +-msgstr "" ++msgstr "ડોમેઇન પ્રકારને દાખલ કરો કે તમે વિસ્તારી હશો" + + #: ../sepolicy/sepolicy.py:368 + msgid "Enter SELinux user(s) which will transition to this domain" +-msgstr "" ++msgstr "SELinux વપરાશકર્તા(ઓ) ને દાખલ કરો કે જે આ ડોમેઇનનું પરિવર્તન કરશે" + + #: ../sepolicy/sepolicy.py:371 + msgid "Enter domain(s) that this confined admin will administrate" +-msgstr "" ++msgstr "ડોમેઇન (ઓ) ને દાખલ કરો કે દે આ શુદ્દ સંચાલકને સંચાલિત કરશે" + + #: ../sepolicy/sepolicy.py:374 + msgid "name of policy to generate" +@@ -2275,7 +2276,7 @@ msgstr "ઉત્પન્ન કરવા માટે પોલિસીનુ + + #: ../sepolicy/sepolicy.py:378 + msgid "path in which the generated policy files will be stored" +-msgstr "" ++msgstr "પાથ કે જેમાં પેદા થયેલ પોલિસી ફાઇલો સંગ્રહેલ હશે" + + #: ../sepolicy/sepolicy.py:380 + msgid "executable to confine" @@ -2289,7 +2290,7 @@ msgstr "પુરાવા માટેના એક્ઝેક્યુટે #: ../sepolicy/sepolicy.py:414 ../sepolicy/sepolicy.py:417 #, python-format @@ -1087,7 +1120,12 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy.py:422 msgid "commands" -@@ -2301,12 +2302,12 @@ msgstr "" +@@ -2297,16 +2298,16 @@ msgstr "આદેશો" + + #: ../sepolicy/sepolicy.py:425 + msgid "Alternate SELinux policy, defaults to /sys/fs/selinux/policy" +-msgstr "" ++msgstr "વૈકલ્પિક SELinux પોલિસી, /sys/fs/selinux/policy મૂળભૂત છે" #: ../sepolicy/sepolicy/__init__.py:48 msgid "No SELinux Policy installed" @@ -1102,7 +1140,7 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy/__init__.py:127 msgid "unknown" -@@ -2318,7 +2319,7 @@ msgstr "ઇન્ટરનેટ સેવા ડિમન" +@@ -2318,27 +2319,27 @@ msgstr "ઇન્ટરનેટ સેવા ડિમન" #: ../sepolicy/sepolicy/generate.py:177 msgid "Existing Domain Type" @@ -1111,7 +1149,13 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy/generate.py:178 msgid "Minimal Terminal Login User Role" -@@ -2330,11 +2331,11 @@ msgstr "" +-msgstr "" ++msgstr "ન્યૂનત્તમ ટર્મિનલ પ્રવેશ વપરાશકર્તા ભૂમિકા" + + #: ../sepolicy/sepolicy/generate.py:179 + msgid "Minimal X Windows Login User Role" +-msgstr "" ++msgstr "ન્યૂનત્તમ X વિન્ડો પ્રવેશ વપરાશકર્તા ભૂમિકા" #: ../sepolicy/sepolicy/generate.py:180 msgid "Desktop Login User Role" @@ -1125,7 +1169,12 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy/generate.py:182 msgid "Confined Root Administrator Role" -@@ -2351,7 +2352,7 @@ msgstr "પોર્ટો નંબરો કે 1 થી %d સુધીના +-msgstr "" ++msgstr "શુદ્દ રુટ સંચાલક ભૂમિકા" + + #: ../sepolicy/sepolicy/generate.py:187 + msgid "Valid Types:\n" +@@ -2351,12 +2352,12 @@ msgstr "પોર્ટો નંબરો કે 1 થી %d સુધીના #: ../sepolicy/sepolicy/generate.py:231 msgid "You must enter a valid policy type" @@ -1134,6 +1183,21 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy/generate.py:234 #, python-format + msgid "You must enter a name for your policy module for your %s." +-msgstr "" ++msgstr "તમે તમારી %s માટે તમારી પોલિસી મોડ્યુલ માટે તમારા નામને દાખલ કરવુ જ જોઇએ." + + #: ../sepolicy/sepolicy/generate.py:355 + msgid "" +@@ -2395,7 +2396,7 @@ msgstr "USER પ્રકારો આપોઆપ tmp પ્રકાર મે + #: ../sepolicy/sepolicy/generate.py:857 + #, python-format + msgid "%s policy modules require existing domains" +-msgstr "" ++msgstr "%s પોલિસી મોડ્યુલને હાલનાં ડોમેઇનની જરૂર છે" + + #: ../sepolicy/sepolicy/generate.py:1059 + msgid "You must enter the executable path for your confined process" @@ -2415,7 +2416,7 @@ msgstr "ફાઈલ સંદર્ભો ફાઈલ" #: ../sepolicy/sepolicy/generate.py:1324 @@ -1143,7 +1207,21 @@ index 165b892..074abad 100644 #: ../sepolicy/sepolicy/generate.py:1325 msgid "Setup Script" -@@ -2455,7 +2456,7 @@ msgstr "radius સર્વરની મદદથી પ્રવેશવા +@@ -2437,11 +2438,11 @@ msgstr "JIT કમ્પાઇલરને વાપરવા માટે amavi + + #: booleans.py:4 + msgid "Allow antivirus programs to read non security files on a system" +-msgstr "" ++msgstr "સિસ્ટમ પર બિન સુરક્ષિત ફાઇલોને વાંચવા માટે એન્ટીવાઇરસ કાર્યક્રમોને પરવાનગી આપો" + + #: booleans.py:5 + msgid "Allow auditadm to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે auditadm ની પરવાનગી આપો" + + #: booleans.py:6 + msgid "" +@@ -2455,11 +2456,11 @@ msgstr "radius સર્વરની મદદથી પ્રવેશવા #: booleans.py:8 msgid "Allow users to login using a yubikey server" @@ -1152,6 +1230,11 @@ index 165b892..074abad 100644 #: booleans.py:9 msgid "Allow awstats to purge Apache logs" +-msgstr "" ++msgstr "Apache લૉગને શુદ્દ કરવા માટે awstats ને પરવાનગી આપો" + + #: booleans.py:10 + msgid "" @@ -2527,11 +2528,11 @@ msgstr "ટર્મિનલોને વાંચવા/લખવાની ક #: booleans.py:25 @@ -1166,6 +1249,123 @@ index 165b892..074abad 100644 #: booleans.py:27 msgid "Allow dbadm to manage files in users home directories" +@@ -2598,7 +2599,7 @@ msgstr "ssh ને ચલાવવા માટે fenced ડોમેઇનન + + #: booleans.py:42 + msgid "Allow all domains to execute in fips_mode" +-msgstr "" ++msgstr "fips સ્થિતિમાં ચલાવવા માટે બધા ડોમેઇનને પરવાનગી આપો (_m)" + + #: booleans.py:43 + msgid "Allow ftp to read and write files in the user home directories" +@@ -2698,7 +2699,7 @@ msgstr "temp ડિરેક્ટરીને વાંચવા માટે g + + #: booleans.py:64 + msgid "Allow guest to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે મહેમાનને પરવાનગી આપો" + + #: booleans.py:65 + msgid "" +@@ -2853,7 +2854,7 @@ msgstr "openstack પોર્ટોને વાપરવા માટે httpd + + #: booleans.py:100 + 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." +@@ -2950,7 +2951,7 @@ msgstr "nscd વહેંચાયેલ મેમરીને વાપરવ + + #: booleans.py:122 + msgid "Allow openshift to lockdown app" +-msgstr "" ++msgstr "કાર્યક્રમને તાળુ મારવા માટે openshift ને પરવાનગી આપો" + + #: booleans.py:123 + msgid "Allow openvpn to read home directories" +@@ -3115,7 +3116,7 @@ msgstr "શૅજોને વાંચવા sasl ને પરવાનગી + + #: booleans.py:161 + msgid "Allow secadm to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે secadm ને પરવાનગી આપો" + + #: booleans.py:162 + msgid "" +@@ -3187,7 +3188,7 @@ msgstr "વપરાશકર્તાઓને TCP સર્વરો ચલા + + #: booleans.py:174 + msgid "Allow user to use ssh chroot environment." +-msgstr "" ++msgstr "ssh chroot પર્યાવરણને વાપરવા માટે વપરાશકર્તાને પરવાનગી આપો." + + #: booleans.py:175 + msgid "Allow user music sharing" +@@ -3269,7 +3270,7 @@ msgstr "ssh પ્રવેશોને sysadm_r:sysadm_t તરીકે પર + + #: booleans.py:191 + msgid "Allow staff to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે staff ને પરવાનગી આપો" + + #: booleans.py:192 + msgid "allow staff user to create and transition to svirt domains." +@@ -3277,7 +3278,7 @@ msgstr "svirt ડોમેઇનને બનાવવા અને પરિવ + + #: booleans.py:193 + msgid "Allow sysadm to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે sysadm ને પરવાનગી આપો" + + #: booleans.py:194 + msgid "" +@@ -3296,7 +3297,7 @@ msgstr "સાર્વજનિક ફાઇલ પરિવહન સેવા + + #: booleans.py:197 + msgid "Allow tftp to read and write files in the user home directories" +-msgstr "" ++msgstr "વપરાશકર્તા ઘર ડિરેક્ટરીમાં ફાઇલોને વાંચવા અને લખવા માટે tftp ને પરવાનગી આપો" + + #: booleans.py:198 + msgid "Allow tor daemon to bind tcp sockets to all unreserved ports." +@@ -3304,7 +3305,7 @@ msgstr "બધા અનારક્ષિત પોર્ટો માટે tc + + #: booleans.py:199 + msgid "Allow tor to act as a relay" +-msgstr "" ++msgstr "relay તરીકે કાર્ય કરવા માટે tor ને પરવાનગી આપો" + + #: booleans.py:200 + msgid "" +@@ -3352,7 +3353,7 @@ msgstr "SAMBA ઘર ડિરેક્ટરીઓને આધાર આપો + + #: booleans.py:210 + msgid "Allow user to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે વપરાશકર્તાને પરવાનગી આપો" + + #: booleans.py:211 + msgid "Allow varnishd to connect to all ports, not just HTTP." +@@ -3382,7 +3383,7 @@ msgstr "nfs ફાઇલોને સંચાલિત કરવા માટ + + #: booleans.py:217 + msgid "Allow confined virtual guests to interact with rawip sockets" +-msgstr "" ++msgstr "rawip સોકેટ સાથે સંપર્ક કરવા માટે શુધ્ધ વર્ચ્યુઅલ મહેમાનોને પરવાનગી આપો" + + #: booleans.py:218 + msgid "Allow confined virtual guests to manage cifs files" +@@ -3446,7 +3447,7 @@ msgstr "જો તમે Network Manager ને રૂપરેખાંકિ + + #: booleans.py:232 + msgid "Allow xguest to exec content" +-msgstr "" ++msgstr "સમાવિષ્ટને ચલાવવા માટે xguest ને પરવાનગી આપો" + + #: booleans.py:233 + msgid "Allow xguest users to mount removable media" diff --git a/policycoreutils/po/ja.po b/policycoreutils/po/ja.po index 72ae12d..649d288 100644 --- a/policycoreutils/po/ja.po @@ -1469,6 +1669,773 @@ index 72ae12d..649d288 100644 #: booleans.py:235 msgid "Allows clients to write to the X server shared memory segments." +diff --git a/policycoreutils/po/ta.po b/policycoreutils/po/ta.po +index a8593c5..d39d8c1 100644 +--- a/policycoreutils/po/ta.po ++++ b/policycoreutils/po/ta.po +@@ -7,14 +7,14 @@ + # I felix , 2007. + # I Felix , 2010. + # I. Felix , 2009-2010. +-# Shantha kumar , 2012. ++# Shantha kumar , 2012-2013. + msgid "" + msgstr "" + "Project-Id-Version: Policycoreutils\n" + "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 \n" ++"PO-Revision-Date: 2013-03-29 09:17+0000\n" ++"Last-Translator: shkumar \n" + "Language-Team: Tamil \n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -290,7 +290,7 @@ msgstr "MLS/MCS வரையறை" + + #: ../semanage/seobject.py:672 + msgid "Service" +-msgstr "" ++msgstr "சேவை" + + #: ../semanage/seobject.py:698 ../semanage/seobject.py:729 + #: ../semanage/seobject.py:796 ../semanage/seobject.py:853 +@@ -427,7 +427,7 @@ msgstr "வகை தேவைப்படுகிறது" + #: ../semanage/seobject.py:1814 + #, python-format + msgid "Type %s is invalid, must be a port type" +-msgstr "" ++msgstr "வகை %s செல்லாதது, அது ஒரு முனைய வகையாக இருக்க வேண்டும்" + + #: ../semanage/seobject.py:1000 ../semanage/seobject.py:1062 + #: ../semanage/seobject.py:1117 ../semanage/seobject.py:1123 +@@ -549,12 +549,12 @@ msgstr "தெரியாத அல்லது விடுபட்ட பி + + #: ../semanage/seobject.py:1256 + msgid "SELinux node type is required" +-msgstr "" ++msgstr "SELinux கனு வகை தேவைப்படுகிறது" + + #: ../semanage/seobject.py:1259 ../semanage/seobject.py:1327 + #, python-format + msgid "Type %s is invalid, must be a node type" +-msgstr "" ++msgstr "வகை %s செல்லாதது, அது ஒரு கனு வகையாக இருக்க வேண்டும்" + + #: ../semanage/seobject.py:1263 ../semanage/seobject.py:1331 + #: ../semanage/seobject.py:1367 ../semanage/seobject.py:1465 +@@ -788,7 +788,7 @@ msgstr "கோப்பு spec %s ஆனது சமான விதி '%s %s + #: ../semanage/seobject.py:1755 + #, python-format + msgid "Type %s is invalid, must be a file or device type" +-msgstr "" ++msgstr "வகை %s செல்லாதது, அது ஒரு கோப்பு அல்லது சாதன வகையாக இருக்க வேண்டும்" + + #: ../semanage/seobject.py:1763 ../semanage/seobject.py:1768 + #: ../semanage/seobject.py:1824 ../semanage/seobject.py:1906 +@@ -2176,11 +2176,11 @@ msgstr "உருவாக்கப்படும் SELinux உதவிப் + + #: ../sepolicy/sepolicy.py:207 + msgid "name of the OS for man pages" +-msgstr "" ++msgstr "கையேட்டுப் பக்கங்களுக்கான OS இன் பெயர்" + + #: ../sepolicy/sepolicy.py:209 + msgid "Generate HTML man pages structure for selected SELinux man page" +-msgstr "" ++msgstr "தேர்ந்தெடுத்த SELinux கையேட்டுப் பக்கத்திற்கு HTML கையேட்டுப் பக்கங்கள் கட்டமைப்பை உருவாக்கவும்" + + #: ../sepolicy/sepolicy.py:213 + msgid "All domains" +@@ -2228,7 +2228,7 @@ msgstr "பூலியன்களின் விளக்கத்தை அ + + #: ../sepolicy/sepolicy.py:280 + msgid "get all booleans descriptions" +-msgstr "" ++msgstr "அனைத்து பூலியன் விளக்கங்களையும் பெறுக" + + #: ../sepolicy/sepolicy.py:282 + msgid "boolean to get description" +@@ -2250,11 +2250,11 @@ msgstr "இலக்கு செயலாக்க டொமைன்" + + #: ../sepolicy/sepolicy.py:327 + msgid "Command required for this type of policy" +-msgstr "" ++msgstr "இந்த வகை கொள்கைக்குத் தேவையான கட்டளை" + + #: ../sepolicy/sepolicy.py:347 + msgid "List SELinux Policy interfaces" +-msgstr "" ++msgstr "SELinux கொள்கை இடைமுகங்களை பட்டியலிடு" + + #: ../sepolicy/sepolicy.py:362 + msgid "Generate SELinux Policy module template" +@@ -2262,15 +2262,15 @@ msgstr "SELinux கொள்கை தொகுதிக்கூறூ வா + + #: ../sepolicy/sepolicy.py:365 + msgid "Enter domain type which you will be extending" +-msgstr "" ++msgstr "நீங்கள் நீட்டிக்க உள்ள களத்தின் வகையை உள்ளிடவும்" + + #: ../sepolicy/sepolicy.py:368 + msgid "Enter SELinux user(s) which will transition to this domain" +-msgstr "" ++msgstr "இந்த களத்தில் செயல்படும் SELinux பயனர்களை உள்ளிடவும்" + + #: ../sepolicy/sepolicy.py:371 + msgid "Enter domain(s) that this confined admin will administrate" +-msgstr "" ++msgstr "இந்த கட்டுப்படுத்தப்பட்ட நிர்வாகி நிர்வகிக்கும் களங்களை உள்ளிடவும்" + + #: ../sepolicy/sepolicy.py:374 + msgid "name of policy to generate" +@@ -2278,7 +2278,7 @@ msgstr "உருவாக்க வேண்டிய கொள்கையி + + #: ../sepolicy/sepolicy.py:378 + msgid "path in which the generated policy files will be stored" +-msgstr "" ++msgstr "உருவாக்கப்படும் கொள்கைக் கோப்புகள் சேமிக்கப்படும் பாதை" + + #: ../sepolicy/sepolicy.py:380 + msgid "executable to confine" +@@ -2292,7 +2292,7 @@ msgstr "கட்டுப்படுத்த வேண்டிய இயக + #: ../sepolicy/sepolicy.py:414 ../sepolicy/sepolicy.py:417 + #, python-format + msgid "Generate Policy for %s" +-msgstr "" ++msgstr "%s க்கு கொள்கையை உருவாக்கவும்" + + #: ../sepolicy/sepolicy.py:422 + msgid "commands" +@@ -2300,16 +2300,16 @@ msgstr "கட்டளைகள்" + + #: ../sepolicy/sepolicy.py:425 + msgid "Alternate SELinux policy, defaults to /sys/fs/selinux/policy" +-msgstr "" ++msgstr "மாற்று SELinux கொள்கை, முன்னிருப்பு மதிப்பு /sys/fs/selinux/policy ஆகும்" + + #: ../sepolicy/sepolicy/__init__.py:48 + msgid "No SELinux Policy installed" +-msgstr "" ++msgstr "SELinux கொள்கை நிறுவப்படவில்லை" + + #: ../sepolicy/sepolicy/__init__.py:54 + #, python-format + msgid "Failed to read %s policy file" +-msgstr "" ++msgstr "கொள்கை கோப்பு %s ஐ வாசிக்க முடியவில்லை" + + #: ../sepolicy/sepolicy/__init__.py:127 + msgid "unknown" +@@ -2321,27 +2321,27 @@ msgstr "இணைய சேவைகள் டெமான்" + + #: ../sepolicy/sepolicy/generate.py:177 + msgid "Existing Domain Type" +-msgstr "" ++msgstr "முன்பே உள்ள டொமைன் வகை" + + #: ../sepolicy/sepolicy/generate.py:178 + msgid "Minimal Terminal Login User Role" +-msgstr "" ++msgstr "குறைந்த முனைய புகுபதிவு பயனர் பங்கு" + + #: ../sepolicy/sepolicy/generate.py:179 + msgid "Minimal X Windows Login User Role" +-msgstr "" ++msgstr "குறைந்தபட்ச X சாளரங்கள் புகுபதிவு பயனர் பங்கு" + + #: ../sepolicy/sepolicy/generate.py:180 + msgid "Desktop Login User Role" +-msgstr "" ++msgstr "டெஸ்க்டாப் புகுபதிவு பயனர் பங்கு" + + #: ../sepolicy/sepolicy/generate.py:181 + msgid "Administrator Login User Role" +-msgstr "" ++msgstr "நிர்வாகி புகுபதிவு பயனர் பங்கு" + + #: ../sepolicy/sepolicy/generate.py:182 + msgid "Confined Root Administrator Role" +-msgstr "" ++msgstr "கட்டுப்படுத்தப்பட்ட ரூட் நிர்வாகி பங்கு" + + #: ../sepolicy/sepolicy/generate.py:187 + msgid "Valid Types:\n" +@@ -2354,12 +2354,12 @@ msgstr "முனையங்கள் எண்ணாக இருக்க வ + + #: ../sepolicy/sepolicy/generate.py:231 + msgid "You must enter a valid policy type" +-msgstr "" ++msgstr "செல்லுபடியான ஒரு கொள்கை வகையை உள்ளிட வேண்டும்" + + #: ../sepolicy/sepolicy/generate.py:234 + #, python-format + msgid "You must enter a name for your policy module for your %s." +-msgstr "" ++msgstr "உங்கள் %s க்கான உங்கள் கொள்கை தொகுதிக்கூறுக்கு ஒரு பெயரை உள்ளிட வேண்டும்." + + #: ../sepolicy/sepolicy/generate.py:355 + msgid "" +@@ -2398,7 +2398,7 @@ msgstr "USER வகைகள் தானாகவே ஒரு tmp வகைய + #: ../sepolicy/sepolicy/generate.py:857 + #, python-format + msgid "%s policy modules require existing domains" +-msgstr "" ++msgstr "%s கொள்கை தொகுதிக்கூறுகளுக்கு முன்பே உள்ள களங்கள் தேவை" + + #: ../sepolicy/sepolicy/generate.py:1059 + msgid "You must enter the executable path for your confined process" +@@ -2418,7 +2418,7 @@ msgstr "கோப்பு சூழல்கள் கோப்பு" + + #: ../sepolicy/sepolicy/generate.py:1324 + msgid "Spec file" +-msgstr "" ++msgstr "விவரக்குறிப்புக் கோப்பு" + + #: ../sepolicy/sepolicy/generate.py:1325 + msgid "Setup Script" +@@ -2440,11 +2440,11 @@ msgstr "JIT கம்பைலரைப் பயன்படுத்த amavis + + #: booleans.py:4 + msgid "Allow antivirus programs to read non security files on a system" +-msgstr "" ++msgstr "வைரஸ் எதிர்ப்பு நிரல்கள் ஒரு கணினியில் உள்ள பாதுகாப்பல்லாத கோப்புகளை வாசிக்க அனுமதிக்கவும்" + + #: booleans.py:5 + msgid "Allow auditadm to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய auditadm ஐ அனுமதிக்கவும்" + + #: booleans.py:6 + msgid "" +@@ -2458,11 +2458,11 @@ msgstr "ஒரு ஆர சேவையகத்தை பயன்படுத + + #: booleans.py:8 + msgid "Allow users to login using a yubikey server" +-msgstr "" ++msgstr "பயனர்கள் yubikey சேவையகத்தைப் பயன்படுத்தி புகுபதிவு செய்ய அனுமதிக்கவும்" + + #: booleans.py:9 + msgid "Allow awstats to purge Apache logs" +-msgstr "" ++msgstr "Apache பதிவுகளை அழிக்க awstats ஐ அனுமதிக்கவும்" + + #: booleans.py:10 + msgid "" +@@ -2530,11 +2530,11 @@ msgstr "அனைத்து டெமான்களுக்கும் ட + + #: booleans.py:25 + msgid "Allow dan to manage user files" +-msgstr "" ++msgstr "பயனர் கோப்புகளை நிர்வகிக்க dan ஐ அனுமதிக்கவும்" + + #: booleans.py:26 + msgid "Allow dan to read user files" +-msgstr "" ++msgstr "பயனர் கோப்புகளை வாசிக்க dan ஐ அனுமதிக்கவும்" + + #: booleans.py:27 + msgid "Allow dbadm to manage files in users home directories" +@@ -2601,7 +2601,7 @@ msgstr "ssh-ஐ பயன்படுத்தி பிணையத்திற + + #: booleans.py:42 + msgid "Allow all domains to execute in fips_mode" +-msgstr "" ++msgstr "fips_mode இல் இயங்க அனைத்து களங்களையும் அனுமதிக்கவும்" + + #: booleans.py:43 + msgid "Allow ftp to read and write files in the user home directories" +@@ -2701,7 +2701,7 @@ msgstr "gssd-ஐ தற்காலிக அடைவை வாசிப்ப + + #: booleans.py:64 + msgid "Allow guest to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய விருந்தினர்களை அனுமதிக்கவும்" + + #: booleans.py:65 + msgid "" +@@ -2856,7 +2856,7 @@ msgstr "httpd ஆனது openstack முனையங்களை அணுக + + #: booleans.py:100 + 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." +@@ -2953,7 +2953,7 @@ msgstr "வரையறுக்கப்பட்ட பயன்பாடு + + #: booleans.py:122 + msgid "Allow openshift to lockdown app" +-msgstr "" ++msgstr "பயன்பாட்டை லாக்டவுன் செய்ய openshift ஐ அனுமதிக்கவும்" + + #: booleans.py:123 + msgid "Allow openvpn to read home directories" +@@ -3118,7 +3118,7 @@ msgstr "sasl-ஐ நிழலை வாசிக்க அனுமதிக் + + #: booleans.py:161 + msgid "Allow secadm to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய secadm ஐ அனுமதிக்கவும்" + + #: booleans.py:162 + msgid "" +@@ -3190,7 +3190,7 @@ msgstr "பயனர்களை TCP சேவையகங்களை இயக + + #: booleans.py:174 + msgid "Allow user to use ssh chroot environment." +-msgstr "" ++msgstr "ssh chroot சூழலைப் பயன்படுத்த பயனரை அனுமதிக்கவும்." + + #: booleans.py:175 + msgid "Allow user music sharing" +@@ -3272,7 +3272,7 @@ msgstr "ssh ஆக sysadm_r:sysadm_t உட்புக அனுமதிக் + + #: booleans.py:191 + msgid "Allow staff to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய staff ஐ அனுமதிக்கவும்" + + #: booleans.py:192 + msgid "allow staff user to create and transition to svirt domains." +@@ -3280,7 +3280,7 @@ msgstr "பணியாளர் பயனர் svirt டொமைன்கள + + #: booleans.py:193 + msgid "Allow sysadm to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய sysadm ஐ அனுமதிக்கவும்" + + #: booleans.py:194 + msgid "" +@@ -3299,7 +3299,7 @@ msgstr "பொது கோப்பு பரிமாற்ற சேவைக + + #: booleans.py:197 + msgid "Allow tftp to read and write files in the user home directories" +-msgstr "" ++msgstr "பயனர்களின் முகப்பு அடைவுகளிலுள்ள கோப்புகளை எழுத tftp ஐ அனுமதிக்கவும்" + + #: booleans.py:198 + msgid "Allow tor daemon to bind tcp sockets to all unreserved ports." +@@ -3307,7 +3307,7 @@ msgstr "tor டொமைன் tcp சாக்கெட்டுகளை ம + + #: booleans.py:199 + msgid "Allow tor to act as a relay" +-msgstr "" ++msgstr "ஒரு ரிலேவாக செயல்பட tor ஐ அனுமதிக்கவும்" + + #: booleans.py:200 + msgid "" +@@ -3355,7 +3355,7 @@ msgstr "SAMBA முகப்பு அடைவுகளுக்கு ஆத + + #: booleans.py:210 + msgid "Allow user to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய பயனரை அனுமதிக்கவும்" + + #: booleans.py:211 + msgid "Allow varnishd to connect to all ports, not just HTTP." +@@ -3385,7 +3385,7 @@ msgstr "வரையறுக்கப்பட்ட மெய்நிகர + + #: booleans.py:217 + msgid "Allow confined virtual guests to interact with rawip sockets" +-msgstr "" ++msgstr "கட்டுப்படுத்தப்பட்ட விருந்தினர்கள் rawip சாக்கெட்டுகளுடன் செயல்படுவதை அனுமதிக்கவும்" + + #: booleans.py:218 + msgid "Allow confined virtual guests to manage cifs files" +@@ -3449,7 +3449,7 @@ msgstr "xguest பயனர்களை பிணைய நிர்வாகி + + #: booleans.py:232 + msgid "Allow xguest to exec content" +-msgstr "" ++msgstr "பொருளடக்கத்தை exec செய்ய xguest ஐ அனுமதிக்கவும்" + + #: booleans.py:233 + msgid "Allow xguest users to mount removable media" +diff --git a/policycoreutils/po/te.po b/policycoreutils/po/te.po +index 044ce97..e20a5e2 100644 +--- a/policycoreutils/po/te.po ++++ b/policycoreutils/po/te.po +@@ -4,13 +4,14 @@ + # + # Translators: + # Krishna Babu K , 2008-2010,2012. ++# Krishna Babu K , 2008-2010,2012, 2013. + msgid "" + msgstr "" + "Project-Id-Version: Policycoreutils\n" + "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 \n" ++"PO-Revision-Date: 2013-03-29 12:11+0000\n" ++"Last-Translator: Krishnababu Krothapalli \n" + "Language-Team: Telugu (http://www.transifex.com/projects/p/fedora/language/te/)\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" +@@ -286,7 +287,7 @@ msgstr "MLS/MCS వ్యాప్తి" + + #: ../semanage/seobject.py:672 + msgid "Service" +-msgstr "" ++msgstr "సేవ" + + #: ../semanage/seobject.py:698 ../semanage/seobject.py:729 + #: ../semanage/seobject.py:796 ../semanage/seobject.py:853 +@@ -423,7 +424,7 @@ msgstr "రకము అవసరము" + #: ../semanage/seobject.py:1814 + #, python-format + msgid "Type %s is invalid, must be a port type" +-msgstr "" ++msgstr "రకం %s చెల్లనిది, తప్పక పోర్టు రకం కావాలి" + + #: ../semanage/seobject.py:1000 ../semanage/seobject.py:1062 + #: ../semanage/seobject.py:1117 ../semanage/seobject.py:1123 +@@ -545,12 +546,12 @@ msgstr "తెలియని లేదా తప్పిపోయిన ని + + #: ../semanage/seobject.py:1256 + msgid "SELinux node type is required" +-msgstr "" ++msgstr "SELinux నోడ్ రకం అవసరమైంది" + + #: ../semanage/seobject.py:1259 ../semanage/seobject.py:1327 + #, python-format + msgid "Type %s is invalid, must be a node type" +-msgstr "" ++msgstr "రకం %s చెల్లనిది, తప్పక నోడ్ రకం కావాలి" + + #: ../semanage/seobject.py:1263 ../semanage/seobject.py:1331 + #: ../semanage/seobject.py:1367 ../semanage/seobject.py:1465 +@@ -784,7 +785,7 @@ msgstr "ఫైల్ స్పెక్ %s అనునది సరితూగ + #: ../semanage/seobject.py:1755 + #, python-format + msgid "Type %s is invalid, must be a file or device type" +-msgstr "" ++msgstr "రకం %s చెల్లనిది, తప్పక ఫైలు లేదా పరికరం రకం కావాలి" + + #: ../semanage/seobject.py:1763 ../semanage/seobject.py:1768 + #: ../semanage/seobject.py:1824 ../semanage/seobject.py:1906 +@@ -2172,11 +2173,11 @@ msgstr "పుట్టించిన SELinux man పేజీలు నిల + + #: ../sepolicy/sepolicy.py:207 + msgid "name of the OS for man pages" +-msgstr "" ++msgstr "man పేజీల కొరకు OS యొక్క పేరు" + + #: ../sepolicy/sepolicy.py:209 + msgid "Generate HTML man pages structure for selected SELinux man page" +-msgstr "" ++msgstr "ఎంపికచేసిన SELinux man పేజీ కొరకు HTML man పేజీల ఆకృతిని జనియింపచేయును" + + #: ../sepolicy/sepolicy.py:213 + msgid "All domains" +@@ -2224,7 +2225,7 @@ msgstr "బూలియన్స్ వివరణను చూడుటకు + + #: ../sepolicy/sepolicy.py:280 + msgid "get all booleans descriptions" +-msgstr "" ++msgstr "అన్ని బూలియన్ల వివరణలను పొందును" + + #: ../sepolicy/sepolicy.py:282 + msgid "boolean to get description" +@@ -2246,11 +2247,11 @@ msgstr "లక్ష్యపు ప్రోసెస్ డొమైన్" + + #: ../sepolicy/sepolicy.py:327 + msgid "Command required for this type of policy" +-msgstr "" ++msgstr "ఈ రకమైన విధానం కొరకు ఆదేశం అవసరం" + + #: ../sepolicy/sepolicy.py:347 + msgid "List SELinux Policy interfaces" +-msgstr "" ++msgstr "SELinux విధానం యింటర్ఫేసులను జాబితాచేయును" + + #: ../sepolicy/sepolicy.py:362 + msgid "Generate SELinux Policy module template" +@@ -2258,15 +2259,15 @@ msgstr "SELinux విధానం మాడ్యూల్ మాదిరి + + #: ../sepolicy/sepolicy.py:365 + msgid "Enter domain type which you will be extending" +-msgstr "" ++msgstr "మీరు విస్తరించు డొమైన్ రకములను ప్రవేశపెట్టండి" + + #: ../sepolicy/sepolicy.py:368 + msgid "Enter SELinux user(s) which will transition to this domain" +-msgstr "" ++msgstr "ఈ డొమైన్‌కు బదిలీ అగు SELinux వాడుకరు(ల)ను ప్రవేశపెట్టుము" + + #: ../sepolicy/sepolicy.py:371 + msgid "Enter domain(s) that this confined admin will administrate" +-msgstr "" ++msgstr "ఈ లోబడిన నిర్వహణాధికారి నిర్వహించు డొమైన్(ల)ను ప్రవేశపెట్టుము" + + #: ../sepolicy/sepolicy.py:374 + msgid "name of policy to generate" +@@ -2274,7 +2275,7 @@ msgstr "పుట్టించుటకు విధానం పేరు" + + #: ../sepolicy/sepolicy.py:378 + msgid "path in which the generated policy files will be stored" +-msgstr "" ++msgstr "జనియింపచేసిన విధానపు ఫైళ్ళు నిల్వవుండు పాత్" + + #: ../sepolicy/sepolicy.py:380 + msgid "executable to confine" +@@ -2288,7 +2289,7 @@ msgstr "ఎల్లకు నిర్వర్తనం" + #: ../sepolicy/sepolicy.py:414 ../sepolicy/sepolicy.py:417 + #, python-format + msgid "Generate Policy for %s" +-msgstr "" ++msgstr "%s కొరకు విధానం జనియింపచేయి" + + #: ../sepolicy/sepolicy.py:422 + msgid "commands" +@@ -2296,16 +2297,16 @@ msgstr "ఆదేశాలు" + + #: ../sepolicy/sepolicy.py:425 + msgid "Alternate SELinux policy, defaults to /sys/fs/selinux/policy" +-msgstr "" ++msgstr "ప్రత్యామ్నాయ SELinux విధానం, /sys/fs/selinux/policy కు అప్రమేయమగును" + + #: ../sepolicy/sepolicy/__init__.py:48 + msgid "No SELinux Policy installed" +-msgstr "" ++msgstr "SELinux విధానం సంస్థాపించలేదు" + + #: ../sepolicy/sepolicy/__init__.py:54 + #, python-format + msgid "Failed to read %s policy file" +-msgstr "" ++msgstr "%s విధానం ఫైలు చదువుటకు విఫలమైను" + + #: ../sepolicy/sepolicy/__init__.py:127 + msgid "unknown" +@@ -2317,27 +2318,27 @@ msgstr "ఇంటర్నెట్ సేవల డెమోన్" + + #: ../sepolicy/sepolicy/generate.py:177 + msgid "Existing Domain Type" +-msgstr "" ++msgstr "ఉన్న డొమైన్ రకం" + + #: ../sepolicy/sepolicy/generate.py:178 + msgid "Minimal Terminal Login User Role" +-msgstr "" ++msgstr "కనీసపు టెర్మినల్ లాగిన్ వాడుకరి పాత్ర" + + #: ../sepolicy/sepolicy/generate.py:179 + msgid "Minimal X Windows Login User Role" +-msgstr "" ++msgstr "గరిష్టపు X విండోస్ లాగిన్ వాడుకరి పాత్ర" + + #: ../sepolicy/sepolicy/generate.py:180 + msgid "Desktop Login User Role" +-msgstr "" ++msgstr "డెస్కుటాప్ లాగిన్ వాడుకరి పాత్ర" + + #: ../sepolicy/sepolicy/generate.py:181 + msgid "Administrator Login User Role" +-msgstr "" ++msgstr "నిర్వహణాధికారి లాగిన్ వాడుకరి పాత్ర" + + #: ../sepolicy/sepolicy/generate.py:182 + msgid "Confined Root Administrator Role" +-msgstr "" ++msgstr "లోబడిన Root నిర్వహణాధికారి పాత్ర" + + #: ../sepolicy/sepolicy/generate.py:187 + msgid "Valid Types:\n" +@@ -2350,12 +2351,12 @@ msgstr "పోర్ట్స్‍ తప్పక సంఖ్యలు లే + + #: ../sepolicy/sepolicy/generate.py:231 + msgid "You must enter a valid policy type" +-msgstr "" ++msgstr "మీరు తప్పక చెల్లునటువంటి విధాన రకం ప్రవేశపెట్టాలి" + + #: ../sepolicy/sepolicy/generate.py:234 + #, python-format + msgid "You must enter a name for your policy module for your %s." +-msgstr "" ++msgstr "మీ విధాన మాడ్యూల్ కొరకు మీ %s కొరకు మీరు తప్పక వొక పేరు ప్రవేశపెట్టాలి." + + #: ../sepolicy/sepolicy/generate.py:355 + msgid "" +@@ -2394,7 +2395,7 @@ msgstr "USER రకములు స్వయంచాలకంగా tmp రక + #: ../sepolicy/sepolicy/generate.py:857 + #, python-format + msgid "%s policy modules require existing domains" +-msgstr "" ++msgstr "%s విధాన మాడ్యూళ్ళకు యిప్పటికే వున్న డొమైన్లు కావాలి" + + #: ../sepolicy/sepolicy/generate.py:1059 + msgid "You must enter the executable path for your confined process" +@@ -2414,7 +2415,7 @@ msgstr "ఫైల్ కాంటెక్స్ట్‍ దస్త్రమ + + #: ../sepolicy/sepolicy/generate.py:1324 + msgid "Spec file" +-msgstr "" ++msgstr "Spec ఫైలు" + + #: ../sepolicy/sepolicy/generate.py:1325 + msgid "Setup Script" +@@ -2436,11 +2437,11 @@ msgstr "amavis ను JIT కంపైలర్ వుపయోగించు + + #: booleans.py:4 + msgid "Allow antivirus programs to read non security files on a system" +-msgstr "" ++msgstr "వ్యవస్థపైని సురక్షితం కాని ఫైళ్ళను చదువుటకు ఎంటీవైరస్ ప్రోగ్రాములను అనుమతించు" + + #: booleans.py:5 + msgid "Allow auditadm to exec content" +-msgstr "" ++msgstr "auditadm ను exec విషయానికి అనుమతించుము" + + #: booleans.py:6 + msgid "" +@@ -2454,11 +2455,11 @@ msgstr "రేడియస్ సేవిక వుపయోగించు వ + + #: booleans.py:8 + msgid "Allow users to login using a yubikey server" +-msgstr "" ++msgstr "yubikey సేవిక వుపయోగించి లాగిన్ అవుటకు వాడుకరులను అనుమతించు" + + #: booleans.py:9 + msgid "Allow awstats to purge Apache logs" +-msgstr "" ++msgstr "అపాచీ లాగ్స్ కొట్టివేయుటకు awstats ను అనుమతించు" + + #: booleans.py:10 + msgid "" +@@ -2526,11 +2527,11 @@ msgstr "టెర్మినల్సు చదువ/వ్రాయ గల + + #: booleans.py:25 + msgid "Allow dan to manage user files" +-msgstr "" ++msgstr "వాడుకరి ఫైళ్ళను నిర్వహించుటకు dan ను అనుమతించు" + + #: booleans.py:26 + msgid "Allow dan to read user files" +-msgstr "" ++msgstr "వాడుకరి ఫైళ్ళను చదువుటకు dan అనుమతించు" + + #: booleans.py:27 + msgid "Allow dbadm to manage files in users home directories" +@@ -2597,7 +2598,7 @@ msgstr "ssh నిర్వర్తించుటకు ఫెన్సుడ + + #: booleans.py:42 + msgid "Allow all domains to execute in fips_mode" +-msgstr "" ++msgstr "fips_mode నందు నిర్వర్తించుటకు అన్ని డొమైన్లను అనుమతించు" + + #: booleans.py:43 + msgid "Allow ftp to read and write files in the user home directories" +@@ -2697,7 +2698,7 @@ msgstr "gssd ను temp డైరెక్టరీను చదువుటక + + #: booleans.py:64 + msgid "Allow guest to exec content" +-msgstr "" ++msgstr "విషయాన్ని నిర్వర్తించుటకు అతిథిని అనుమతించు" + + #: booleans.py:65 + msgid "" +@@ -2852,7 +2853,7 @@ msgstr "httpdను ఓపెన్‌స్టాక్ పోర్టుల + + #: booleans.py:100 + 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." +@@ -2949,7 +2950,7 @@ msgstr "nscd భాగస్వామ్య మెమొరీ వుపయో + + #: booleans.py:122 + msgid "Allow openshift to lockdown app" +-msgstr "" ++msgstr "అనువర్తనం లాక్‌డౌన్‌కు వోపెన్‌షిఫ్టును అనుమతించు" + + #: booleans.py:123 + msgid "Allow openvpn to read home directories" +@@ -3114,7 +3115,7 @@ msgstr "shadow చదువుటకు sasl ను అనుమతించు" + + #: booleans.py:161 + msgid "Allow secadm to exec content" +-msgstr "" ++msgstr "విషయాన్ని నిర్వర్తించుటకు secadm అనుమతించు" + + #: booleans.py:162 + msgid "" +@@ -3186,7 +3187,7 @@ msgstr "వాడుకరులను TCP సేవికలు (పోర్ + + #: booleans.py:174 + msgid "Allow user to use ssh chroot environment." +-msgstr "" ++msgstr "ssh chroot యెన్విరాన్మెంటును వుపయోగించుటకు వాడుకరిని అనుమతించు." + + #: booleans.py:175 + msgid "Allow user music sharing" +@@ -3268,7 +3269,7 @@ msgstr "ssh లాగిన్స్‍‌ను sysadm_r:sysadm_t లా అన + + #: booleans.py:191 + msgid "Allow staff to exec content" +-msgstr "" ++msgstr "విషయాన్ని నిర్వర్తించుటకు స్టాఫ్‌ను అనుమతించు" + + #: booleans.py:192 + msgid "allow staff user to create and transition to svirt domains." +@@ -3276,7 +3277,7 @@ msgstr "స్టాఫ్ వాడుకరిని svirt డొమైన్ + + #: booleans.py:193 + msgid "Allow sysadm to exec content" +-msgstr "" ++msgstr "విషయాన్ని నిర్వర్తించుటకు వ్యవస్థనిర్వహణాధికారిని అనుమతించు" + + #: booleans.py:194 + msgid "" +@@ -3295,7 +3296,7 @@ msgstr "పబ్లిక్ ఫైల్ బదలీకరణ సేవలక + + #: booleans.py:197 + msgid "Allow tftp to read and write files in the user home directories" +-msgstr "" ++msgstr "tftp ను వాడుకరి నివాస సంచయాల నందలి ఫైళ్ళను వ్రాయగల్గుటకు చదువగల్గుటకు అనుమతించు." + + #: booleans.py:198 + msgid "Allow tor daemon to bind tcp sockets to all unreserved ports." +@@ -3303,7 +3304,7 @@ msgstr "tcp సాకెట్లను అన్ని రిజర్వుక + + #: booleans.py:199 + msgid "Allow tor to act as a relay" +-msgstr "" ++msgstr "tor ను రిలే వలే వ్యవహరించుటకు అనుమతించు" + + #: booleans.py:200 + msgid "" +@@ -3351,7 +3352,7 @@ msgstr "SAMBA నివాస సంచయాలకు తోడ్పాటు + + #: booleans.py:210 + msgid "Allow user to exec content" +-msgstr "" ++msgstr "విషయాన్ని నిర్వర్తించుటకు వాడుకరిని అనుమతించు" + + #: booleans.py:211 + msgid "Allow varnishd to connect to all ports, not just HTTP." +@@ -3381,7 +3382,7 @@ msgstr "nfs ఫైళ్ళను నిర్వహించుటకు ని + + #: booleans.py:217 + msgid "Allow confined virtual guests to interact with rawip sockets" +-msgstr "" ++msgstr "లోబడిన వర్చ్యువల్ అతిధేయిలు rawip సాకెట్లతో యింటరాక్ట్ అగుటకు అనుమతించు" + + #: booleans.py:218 + msgid "Allow confined virtual guests to manage cifs files" +@@ -3445,7 +3446,7 @@ msgstr "నెట్వర్కు నిర్వాహిక ఆకృతీ + + #: booleans.py:232 + msgid "Allow xguest to exec content" +-msgstr "" ++msgstr "విషయాన్ని నిర్వర్తించుటకు xguest అనుమతించు" + + #: booleans.py:233 + msgid "Allow xguest users to mount removable media" diff --git a/policycoreutils/restorecond/Makefile b/policycoreutils/restorecond/Makefile index 3074542..3b704d8 100644 --- a/policycoreutils/restorecond/Makefile @@ -2024,10 +2991,16 @@ index 8ec509c..0000000 -.SH "SEE ALSO" -semanage.conf(5), semodule(8), semanage(8), getpwent(3), getpwent_r(3) diff --git a/policycoreutils/secon/secon.1 b/policycoreutils/secon/secon.1 -index 6c30734..5e7f885 100644 +index 6c30734..f6b4b9a 100644 --- a/policycoreutils/secon/secon.1 +++ b/policycoreutils/secon/secon.1 -@@ -96,7 +96,7 @@ If that argument is +@@ -91,12 +91,12 @@ Additional argument + .I CONTEXT + may be provided and will be used if no options have been specified to make + .B secon +-get it's context from another source. ++get its context from another source. + If that argument is .I - then the context will be read from stdin. .br @@ -2673,7 +3646,7 @@ index b6abdf5..c05c943 100644 Generate an additional HTML man pages for the specified domain(s). diff --git a/policycoreutils/sepolicy/sepolicy.py b/policycoreutils/sepolicy/sepolicy.py -index b25d3b2..c353021 100755 +index b25d3b2..7443ae0 100755 --- a/policycoreutils/sepolicy/sepolicy.py +++ b/policycoreutils/sepolicy/sepolicy.py @@ -22,6 +22,8 @@ @@ -2685,7 +3658,17 @@ index b25d3b2..c353021 100755 from sepolicy import get_os_version import argparse import gettext -@@ -45,7 +47,7 @@ class CheckPath(argparse.Action): +@@ -37,6 +39,9 @@ except IOError: + 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':('-a ADMIN_DOMAIN',), ' --application':('COMMAND',), ' --cgi':('COMMAND',), ' --confined_admin':('-a ADMIN_DOMAIN',), ' --dbus':('COMMAND',), ' --desktop_user':('',),' --inetd':('COMMAND',),' --init':('COMMAND',), ' --sandbox':('',), ' --term_user':('',), ' --x_user':('',)} ++ + class CheckPath(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + if not os.path.exists(values): +@@ -45,7 +50,7 @@ class CheckPath(argparse.Action): class CheckType(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): @@ -2694,7 +3677,7 @@ index b25d3b2..c353021 100755 if isinstance(values,str): setattr(namespace, self.dest, values) -@@ -58,9 +60,30 @@ class CheckType(argparse.Action): +@@ -58,9 +63,30 @@ class CheckType(argparse.Action): newval.append(v) setattr(namespace, self.dest, newval) @@ -2726,7 +3709,7 @@ index b25d3b2..c353021 100755 if isinstance(values,str): if values not in domains: -@@ -80,7 +103,6 @@ class CheckDomain(argparse.Action): +@@ -80,7 +106,6 @@ class CheckDomain(argparse.Action): all_classes = None class CheckClass(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): @@ -2734,7 +3717,7 @@ index b25d3b2..c353021 100755 global all_classes if not all_classes: all_classes = map(lambda x: x['name'], sepolicy.info(sepolicy.TCLASS)) -@@ -114,7 +136,7 @@ class CheckPort(argparse.Action): +@@ -114,7 +139,7 @@ class CheckPort(argparse.Action): class CheckPortType(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): @@ -2743,7 +3726,7 @@ index b25d3b2..c353021 100755 newval = getattr(namespace, self.dest) if not newval: newval = [] -@@ -140,19 +162,30 @@ class CheckPolicyType(argparse.Action): +@@ -140,19 +165,30 @@ class CheckPolicyType(argparse.Action): class CheckUser(argparse.Action): def __call__(self, parser, namespace, value, option_string=None): @@ -2778,7 +3761,7 @@ index b25d3b2..c353021 100755 if len(portdict) > 0: print "%s: %s %s" % (src, protocol, perm) for p in portdict: -@@ -160,7 +193,7 @@ def _print_net(src, protocol, perm): +@@ -160,7 +196,7 @@ def _print_net(src, protocol, perm): print "\t" + recs def network(args): @@ -2787,7 +3770,7 @@ index b25d3b2..c353021 100755 if args.list_ports: all_ports = [] for i in portrecs: -@@ -201,41 +234,41 @@ def manpage(args): +@@ -201,41 +237,41 @@ def manpage(args): from sepolicy.manpage import ManPage, HTMLManPages, manpage_domains, manpage_roles, gen_domains path = args.path @@ -2852,7 +3835,7 @@ index b25d3b2..c353021 100755 def gen_network_args(parser): net = parser.add_parser("network", -@@ -283,7 +316,6 @@ def gen_communicate_args(parser): +@@ -283,7 +319,6 @@ def gen_communicate_args(parser): comm.set_defaults(func=communicate) def booleans(args): @@ -2860,7 +3843,7 @@ index b25d3b2..c353021 100755 from sepolicy import boolean_desc if args.all: rc, args.booleans = selinux.security_get_boolean_names() -@@ -300,6 +332,7 @@ def gen_booleans_args(parser): +@@ -300,6 +335,7 @@ def gen_booleans_args(parser): action="store_true", help=_("get all booleans descriptions")) group.add_argument("-b", "--boolean", dest="booleans", nargs="+", @@ -2868,7 +3851,7 @@ index b25d3b2..c353021 100755 help=_("boolean to get description")) bools.set_defaults(func=booleans) -@@ -320,7 +353,7 @@ def gen_transition_args(parser): +@@ -320,7 +356,7 @@ def gen_transition_args(parser): trans.set_defaults(func=transition) def interface(args): @@ -2877,7 +3860,7 @@ index b25d3b2..c353021 100755 if args.list_admin: for a in get_admin(): print a -@@ -328,13 +361,16 @@ def interface(args): +@@ -328,13 +364,25 @@ def interface(args): for a in get_user(): print a if args.list: @@ -2891,13 +3874,22 @@ index b25d3b2..c353021 100755 cmd = None - if args.policytype not in USERS + [ SANDBOX, NEWTYPE]: +# numbers present POLTYPE defined in sepolicy.generate -+ conflict_args = {'TYPES':(NEWTYPE,), 'DOMAIN':(EUSER,), 'ADMIN_DOMAIN':(AUSER, RUSER,)} ++ conflict_args = {'TYPES':(NEWTYPE,), 'DOMAIN':(EUSER,), 'ADMIN_DOMAIN':(AUSER, RUSER, EUSER,)} ++ error_text = "" ++ ++ if args.policytype is None: ++ generate_usage = generate_custom_usage(usage, usage_dict) ++ for k in usage_dict: ++ error_text += "%s" % (k) ++ print(generate_usage) ++ print(_("sepolicy generate: error: one of the arguments %s is required") % error_text) ++ sys.exit(1) + + if args.policytype in APPLICATIONS: if not args.command: raise ValueError(_("Command required for this type of policy")) cmd = os.path.realpath(args.command) -@@ -346,8 +382,18 @@ def generate(args): +@@ -346,8 +394,18 @@ def generate(args): mypolicy.set_program(cmd) if args.types: @@ -2916,7 +3908,7 @@ index b25d3b2..c353021 100755 for p in args.writepaths: if os.path.isdir(p): mypolicy.add_dir(p) -@@ -368,10 +414,10 @@ def gen_interface_args(parser): +@@ -368,10 +426,10 @@ def gen_interface_args(parser): help=_('List SELinux Policy interfaces')) group = itf.add_mutually_exclusive_group(required=True) group.add_argument("-a", "--list_admin", dest="list_admin",action="store_true", default=False, @@ -2929,21 +3921,19 @@ index b25d3b2..c353021 100755 group.add_argument("-l", "--list", dest="list",action="store_true", default=False, help="List all interfaces") -@@ -379,7 +425,12 @@ def gen_interface_args(parser): +@@ -379,7 +437,10 @@ def gen_interface_args(parser): def gen_generate_args(parser): from sepolicy.generate import DAEMON, get_poltype_desc, poltype, DAEMON, DBUS, INETD, CGI, SANDBOX, USER, EUSER, TUSER, XUSER, LUSER, AUSER, RUSER, NEWTYPE - pol = parser.add_parser("generate", + -+ generate_usage = "sepolicy generate [-h] [-n NAME] [-p PATH] [-w [WRITEPATHS [WRITEPATHS ...]]] [" -+ generate_usage_dict = {' --newtype':('-t [TYPES [TYPES ...]]',),' --customize':('-d DOMAIN',), ' --admin_user':('-a ADMIN_DOMAIN',), ' --application':('COMMAND',), ' --cgi':('COMMAND',), ' --confined_admin':('-a ADMIN_DOMAIN',), ' --dbus':('COMMAND',), ' --desktop_user':('',),' --inetd':('COMMAND',),' --init':('COMMAND',), ' --sandbox':('',), ' --term_user':('',), ' --x_user':('',)} -+ generate_usage = generate_custom_usage(generate_usage, generate_usage_dict) ++ generate_usage = generate_custom_usage(usage, usage_dict) + + pol = parser.add_parser("generate", usage = generate_usage, help=_('Generate SELinux Policy module template')) pol.add_argument("-d", "--domain", dest="domain", default=[], action=CheckDomain, nargs="*", -@@ -397,53 +448,57 @@ def gen_generate_args(parser): +@@ -397,53 +458,57 @@ def gen_generate_args(parser): help=argparse.SUPPRESS) pol.add_argument("-t", "--type", dest="types", default=[], nargs="*", action=CheckType, @@ -2958,7 +3948,7 @@ index b25d3b2..c353021 100755 - group = pol.add_mutually_exclusive_group(required=False) - group.add_argument("--newtype", dest="policytype", const=NEWTYPE, + cmdtype = pol.add_argument_group(_("Policy types which require a command")) -+ cmdgroup = cmdtype.add_mutually_exclusive_group(required=True) ++ cmdgroup = cmdtype.add_mutually_exclusive_group(required=False) + cmdgroup.add_argument("--application", dest="policytype", const=USER, action="store_const", - help=_("Generate Policy for %s") % poltype[NEWTYPE]) @@ -2983,7 +3973,7 @@ index b25d3b2..c353021 100755 + help=_("Generate '%s' policy") % poltype[DAEMON]) + + type = pol.add_argument_group("Policy types which do not require a command") -+ group = type.add_mutually_exclusive_group(required=True) ++ group = type.add_mutually_exclusive_group(required=False) + group.add_argument("--admin_user", dest="policytype", const=AUSER, + action="store_const", + help=_("Generate '%s' policy") % poltype[AUSER]) @@ -3027,7 +4017,7 @@ index b25d3b2..c353021 100755 pol.set_defaults(func=generate) if __name__ == '__main__': -@@ -461,7 +516,10 @@ if __name__ == '__main__': +@@ -461,7 +526,10 @@ if __name__ == '__main__': gen_transition_args(subparsers) try: @@ -3247,7 +4237,7 @@ index 5e7415c..5267ed9 100644 booleans_dict = None def gen_bool_dict(path="/usr/share/selinux/devel/policy.xml"): diff --git a/policycoreutils/sepolicy/sepolicy/generate.py b/policycoreutils/sepolicy/sepolicy/generate.py -index 26f8390..c83883f 100644 +index 26f8390..4739025 100644 --- a/policycoreutils/sepolicy/sepolicy/generate.py +++ b/policycoreutils/sepolicy/sepolicy/generate.py @@ -63,20 +63,6 @@ except IOError: @@ -3312,6 +4302,15 @@ index 26f8390..c83883f 100644 return newte def generate_new_rules(self): +@@ -1014,7 +1007,7 @@ allow %s_t %s_t:%s_socket name_%s; + + def generate_roles_rules(self): + newte = "" +- if self.type in ( TUSER, XUSER, AUSER, LUSER, EUSER): ++ if self.type in ( TUSER, XUSER, AUSER, LUSER ): + 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; if len(self.DEFAULT_DIRS[d][1]) > 0: # CGI scripts already have a rw_t @@ -3330,7 +4329,7 @@ index 26f8390..c83883f 100644 newte += self.generate_capabilities() newte += self.generate_process() newte += self.generate_network_types() -@@ -1048,11 +1042,20 @@ allow %s_t %s_t:%s_socket name_%s; +@@ -1048,11 +1042,22 @@ allow %s_t %s_t:%s_socket name_%s; for d in self.DEFAULT_KEYS: if len(self.DEFAULT_DIRS[d][1]) > 0: @@ -3340,8 +4339,10 @@ index 26f8390..c83883f 100644 - newte += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].te_stream_rules) - break + if self.type == EUSER: ++ newte_tmp = "" + for domain in self.existing_domains: -+ newte += re.sub("TEMPLATETYPE", domain[:-2], self.DEFAULT_DIRS[d][2].te_rules) ++ newte_tmp += re.sub("TEMPLATETYPE_t", domain[:-2]+"_t", self.DEFAULT_DIRS[d][2].te_rules) ++ newte += re.sub("TEMPLATETYPE_rw_t", self.name+"_rw_t", newte_tmp) + else: + newte += re.sub("TEMPLATETYPE", self.name, self.DEFAULT_DIRS[d][2].te_rules) + for i in self.DEFAULT_DIRS[d][1]: @@ -3356,7 +4357,7 @@ index 26f8390..c83883f 100644 newte += self.generate_tmp_rules() newte += self.generate_network_rules() -@@ -1079,7 +1082,7 @@ allow %s_t %s_t:%s_socket name_%s; +@@ -1079,7 +1084,7 @@ allow %s_t %s_t:%s_socket name_%s; fclist = [] if self.type in USERS + [ SANDBOX ]: return executable.fc_user @@ -3365,8 +4366,24 @@ index 26f8390..c83883f 100644 raise ValueError(_("You must enter the executable path for your confined process")) if self.program: -@@ -1123,7 +1126,7 @@ allow %s_t %s_t:%s_socket name_%s; - tmp = re.sub("TEMPLATETYPE", self.name, script.users) +@@ -1109,7 +1114,7 @@ allow %s_t %s_t:%s_socket name_%s; + + def generate_user_sh(self): + newsh = "" +- if self.type not in ( TUSER, XUSER, AUSER, LUSER, EUSER): ++ if self.type not in ( TUSER, XUSER, AUSER, LUSER, RUSER): + return newsh + + roles = "" +@@ -1117,13 +1122,10 @@ allow %s_t %s_t:%s_socket name_%s; + roles += " %s_r" % role + if roles != "": + roles += " system_r" +- if self.type == EUSER: +- tmp = re.sub("TEMPLATETYPE", self.name, script.eusers) +- else: +- tmp = re.sub("TEMPLATETYPE", self.name, script.users) ++ tmp = re.sub("TEMPLATETYPE", self.name, script.users) newsh += re.sub("ROLES", roles, tmp) - if self.type == RUSER: @@ -3435,7 +4452,7 @@ index 8b063ca..c9036c3 100644 trans_list.append(m[0]) return trans_list diff --git a/policycoreutils/sepolicy/sepolicy/manpage.py b/policycoreutils/sepolicy/sepolicy/manpage.py -index 25062da..f184b0c 100755 +index 25062da..2747e4f 100755 --- a/policycoreutils/sepolicy/sepolicy/manpage.py +++ b/policycoreutils/sepolicy/sepolicy/manpage.py @@ -28,12 +28,12 @@ import string @@ -3531,7 +4548,7 @@ index 25062da..f184b0c 100755 self.booleans_dict = gen_bool_dict(self.xmlpath) if domainname.endswith("_t"): -@@ -459,7 +450,10 @@ class ManPage: +@@ -459,13 +450,16 @@ class ManPage: if self.domainname + "_t" not in self.all_domains: raise ValueError("domain %s_t does not exist" % self.domainname) @@ -3543,6 +4560,13 @@ index 25062da..f184b0c 100755 self.type = self.domainname + "_t" self._gen_bools() + self.man_page_path = "%s/%s_selinux.8" % (path, self.domainname) + self.fd = open(self.man_page_path, 'w') +- if domainname + "_r" in self.all_roles: ++ if self.domainname + "_r" in self.all_roles: + self.__gen_user_man_page() + if self.html: + manpage_roles.append(self.man_page_path) @@ -483,16 +477,23 @@ class ManPage: def _gen_bools(self): self.bools=[] diff --git a/policycoreutils.spec b/policycoreutils.spec index 30e4c21..10e41ea 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -7,7 +7,7 @@ Summary: SELinux policy core utilities Name: policycoreutils Version: 2.1.14 -Release: 30%{?dist} +Release: 32%{?dist} License: GPLv2 Group: System Environment/Base # Based on git repository with tag 20101221 @@ -114,7 +114,6 @@ an SELinux environment. %{_sbindir}/semanage %{_bindir}/chcat %{_bindir}/sandbox -%{_bindir}/sepolicy %{python_sitearch}/seobject.py* %{python_sitearch}/sepolgen %{python_sitearch}/sepolicy @@ -126,12 +125,9 @@ an SELinux environment. %{_mandir}/ru/man8/chcat.8* %{_mandir}/man8/sandbox.8* %{_mandir}/man8/semanage.8* -%{_mandir}/man8/sepolicy*.8* -%{_mandir}/man8/sepolgen.8* %{_mandir}/ru/man8/semanage.8* %{_usr}/share/bash-completion/completions/semanage %{_usr}/share/bash-completion/completions/setsebool -%{_usr}/share/bash-completion/completions/sepolicy %package devel Summary: SELinux policy core policy devel utilities @@ -155,6 +151,10 @@ The policycoreutils-devel package contains the management tools use to develop p %{_mandir}/man1/audit2allow.1* %{_mandir}/ru/man1/audit2allow.1* %{_mandir}/man1/audit2why.1* +%{_bindir}/sepolicy +%{_mandir}/man8/sepolicy*.8* +%{_mandir}/man8/sepolgen.8* +%{_usr}/share/bash-completion/completions/sepolicy %post devel selinuxenabled && [ -f /usr/share/selinux/devel/include/build.conf ] && /usr/bin/sepolgen-ifgen 2>/dev/null @@ -225,6 +225,17 @@ system-config-selinux is a utility for managing the SELinux environment %{_datadir}/system-config-selinux/*.py* %{_datadir}/system-config-selinux/*.glade +%post gui +/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun gui +if [ $1 -eq 0 ] ; then + /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null + /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans gui +/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -f %{name}.lang %{_sbindir}/restorecon @@ -310,7 +321,22 @@ The policycoreutils-restorecond package contains the restorecond service. %{_bindir}/systemctl try-restart restorecond.service >/dev/null 2>&1 || : %changelog -* Thu Mar 28 2013 Dan Walsh - 2.1.14-29 +* Wed Apr 3 2013 Dan Walsh - 2.1.14-32 +- Move sepolicy to policycoreutils-devel pacage, since most of it is used for devel +- Apply Miroslav Grepl Patches for sepolicy +-- Fix generate mutually groups option handling +-- EUSER is used for existing policy +-- customize options can be used together with admin_domain option +-- Fix manpage.py to generate correct man pages for SELinux users +-- Fix policy *.te file generated by customize+writepaths options +-- Fix install script for confined_admin option + +* Mon Apr 1 2013 Dan Walsh - 2.1.14-31 +- Add post install scripts for gui to make sure Icon Cache is refreshed. +- Fix grammar issue in secon man page +- Update Translations + +* Thu Mar 28 2013 Dan Walsh - 2.1.14-30 - Add buildrequires for OpenBox to prevent me from accidently building into RHEL7 - Add support for returning alias data to sepolicy.info python bindings