You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(24) |
Sep
(38) |
Oct
(29) |
Nov
(40) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(88) |
Feb
(66) |
Mar
(44) |
Apr
(104) |
May
(35) |
Jun
(34) |
Jul
(12) |
Aug
(42) |
Sep
(84) |
Oct
(34) |
Nov
(30) |
Dec
(22) |
2008 |
Jan
(60) |
Feb
(54) |
Mar
(32) |
Apr
(14) |
May
(16) |
Jun
(26) |
Jul
(22) |
Aug
(12) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <mad...@us...> - 2006-10-31 18:39:33
|
Revision: 2076 http://svn.sourceforge.net/selinux/?rev=2076&view=rev Author: madmethod Date: 2006-10-31 10:39:13 -0800 (Tue, 31 Oct 2006) Log Message: ----------- branch for libsepol 1.15.2 Added Paths: ----------- tags/libsepol_1_15_2/ tags/libsepol_1_15_2/libsepol/ tags/libsepol_1_15_2/libsepol/ChangeLog tags/libsepol_1_15_2/libsepol/VERSION tags/libsepol_1_15_2/libsepol/src/link.c Removed Paths: ------------- tags/libsepol_1_15_2/libsepol/ChangeLog tags/libsepol_1_15_2/libsepol/VERSION tags/libsepol_1_15_2/libsepol/src/link.c Copied: tags/libsepol_1_15_2/libsepol (from rev 2074, trunk/libsepol) Deleted: tags/libsepol_1_15_2/libsepol/ChangeLog =================================================================== --- trunk/libsepol/ChangeLog 2006-10-24 16:09:54 UTC (rev 2074) +++ tags/libsepol_1_15_2/libsepol/ChangeLog 2006-10-31 18:39:13 UTC (rev 2076) @@ -1,581 +0,0 @@ -1.15.1 2006-10-24 - * Merged fix for version comparison that was preventing range - transition rules from being written for a version 5 base policy - from Darrel Goeddel. - -1.14 2006-10-17 - * Updated version for release. - -1.12.28 2006-09-28 - * Build libsepol's static object files with -fpic - -1.12.27 2006-09-28 - * Merged mls user and range_transition support in modules - from Darrel Goeddel - -1.12.26 2006-09-05 - * Merged range transition enhancements and user format changes - Darrel Goeddel - -1.12.25 2006-08-24 - * Merged conditionally expand neverallows patch from Jeremy Mowery. - * Merged refactor expander patch from Jeremy Mowery. - -1.12.24 2006-08-03 - * Merged libsepol unit tests from Joshua Brindle. - -1.12.23 2006-08-03 - * Merged symtab datum patch from Karl MacMillan. - -1.12.22 2006-08-03 - * Merged netfilter contexts support from Chris PeBenito. - -1.12.21 2006-07-28 - * Merged helpful hierarchy check errors patch from Joshua Brindle. - -1.12.20 2006-07-25 - * Merged semodule_deps patch from Karl MacMillan. - This adds source module names to the avrule decls. - -1.12.19 2006-06-29 - * Lindent. - -1.12.18 2006-06-26 - * Merged optionals in base take 2 patch set from Joshua Brindle. - -1.12.17 2006-05-30 - * Revert 1.12.16. - -1.12.16 2006-05-30 - * Merged cleaner fix for bool_ids overflow from Karl MacMillan, - replacing the prior patch. - -1.12.15 2006-05-30 - * Merged fixes for several memory leaks in the error paths during - policy read from Serge Hallyn. - -1.12.14 2006-05-25 - * Fixed bool_ids overflow bug in cond_node_find and cond_copy_list, - based on bug report and suggested fix by Cedric Roux. - -1.12.13 2006-05-24 - * Merged sens_copy_callback, check_role_hierarchy_callback, - and node_from_record fixes from Serge Hallyn. - -1.12.12 2006-05-22 - * Added sepol_policydb_compat_net() interface for testing whether - a policy requires the compatibility support for network checks - to be enabled in the kernel. - -1.12.11 2006-05-17 - * Merged patch to initialize sym_val_to_name arrays from Kevin Carr. - Reworked to use calloc in the first place, and converted some other - malloc/memset pairs to calloc calls. - -1.12.10 2006-05-08 - * Merged patch to revert role/user decl upgrade from Karl MacMillan. - -1.12.9 2006-05-08 - * Dropped tests from all Makefile target. - -1.12.8 2006-05-05 - * Merged fix warnings patch from Karl MacMillan. - -1.12.7 2006-05-05 - * Merged libsepol test framework patch from Karl MacMillan. - -1.12.6 2006-04-28 - * Fixed cond_normalize to traverse the entire cond list at link time. - -1.12.5 2006-04-03 - * Merged fix for leak of optional package sections from Ivan Gyurdiev. - -1.12.4 2006-03-29 - * Generalize test for bitmap overflow in ebitmap_set_bit. - -1.12.3 2006-03-27 - * Fixed attr_convert_callback and expand_convert_type_set - typemap bug. - -1.12.2 2006-03-24 - * Fixed avrule_block_write num_decls endian bug. - -1.12.1 2006-03-20 - * Fixed sepol_module_package_write buffer overflow bug. - -1.12 2006-03-14 - * Updated version for release. - -1.11.20 2006-03-08 - * Merged cond_evaluate_expr fix from Serge Hallyn (IBM). - * Fixed bug in copy_avrule_list reported by Ivan Gyurdiev. - -1.11.19 2006-02-21 - * Merged sepol_policydb_mls_enabled interface and error handling - changes from Ivan Gyurdiev. - -1.11.18 2006-02-16 - * Merged node_expand_addr bugfix and node_compare* change from - Ivan Gyurdiev. - -1.11.17 2006-02-15 - * Merged nodes, ports: always prepend patch from Ivan Gyurdiev. - * Merged bug fix patch from Ivan Gyurdiev. - -1.11.16 2006-02-14 - * Added a defined flag to level_datum_t for use by checkpolicy. - -1.11.15 2006-02-14 - * Merged nodecon support patch from Ivan Gyurdiev. - * Merged cleanups patch from Ivan Gyurdiev. - -1.11.14 2006-02-13 - * Merged optionals in base patch from Joshua Brindle. - -1.11.13 2006-02-07 - * Merged seuser/user_extra support patch from Joshua Brindle. - * Merged fix patch from Ivan Gyurdiev. - -1.11.12 2006-02-02 - * Merged clone record on set_con patch from Ivan Gyurdiev. - -1.11.11 2006-02-01 - * Merged assertion copying bugfix from Joshua Brindle. - * Merged sepol_av_to_string patch from Joshua Brindle. - -1.11.10 2006-01-30 - * Merged cond_expr mapping and package section count bug fixes - from Joshua Brindle. - * Merged improve port/fcontext API patch from Ivan Gyurdiev. - * Merged fixes for overflow bugs on 64-bit from Ivan Gyurdiev. - -1.11.9 2006-01-12 - * Merged size_t -> unsigned int patch from Ivan Gyurdiev. - -1.11.8 2006-01-09 - * Merged 2nd const in APIs patch from Ivan Gyurdiev. - -1.11.7 2006-01-06 - * Merged const in APIs patch from Ivan Gyurdiev. - * Merged compare2 function patch from Ivan Gyurdiev. - -1.11.6 2006-01-06 - * Fixed hierarchy checker to only check allow rules. - -1.11.5 2006-01-05 - * Merged further fixes from Russell Coker, specifically: - - av_to_string overflow checking - - sepol_context_to_string error handling - - hierarchy checking memory leak fixes and optimizations - - avrule_block_read variable initialization - * Marked deprecated code in genbools and genusers. - -1.11.4 2006-01-05 - * Merged bugfix for sepol_port_modify from Russell Coker. - -1.11.3 2006-01-05 - * Fixed bug in sepol_iface_modify error path noted by Ivan Gyurdiev. - * Merged port ordering patch from Ivan Gyurdiev. - -1.11.2 2006-01-04 - * Merged patch series from Ivan Gyurdiev. - This includes patches to: - - support ordering of records in compare function - - enable port interfaces - - add interfaces for context validity and range checks - - add include guards - -1.11.1 2005-12-16 - * Fixed mls_range_cpy bug. - -1.10 2005-12-07 - * Updated version for release. - -1.9.42 2005-12-05 - * Dropped handle from user_del_role interface. - -1.9.41 2005-11-28 - * Merged remove defrole from sepol patch from Ivan Gyurdiev. - -1.9.40 2005-11-15 - * Merged module function and map file cleanup from Ivan Gyurdiev. - * Merged MLS and genusers cleanups from Ivan Gyurdiev. - -1.9.39 2005-11-09 - Prepare for removal of booleans* and *.users files. - * Cleaned up sepol_genbools to not regenerate the image if - there were no changes in the boolean values, including the - degenerate case where there are no booleans or booleans.local - files. - * Cleaned up sepol_genusers to not warn on missing local.users. - -1.9.38 2005-11-08 - * Removed sepol_port_* from libsepol.map, as the port interfaces - are not yet stable. - -1.9.37 2005-11-04 - * Merged context destroy cleanup patch from Ivan Gyurdiev. - -1.9.36 2005-11-03 - * Merged context_to_string interface change patch from Ivan Gyurdiev. - -1.9.35 2005-11-01 - * Added src/dso.h and src/*_internal.h. - Added hidden_def for exported symbols used within libsepol. - Added hidden for symbols that should not be exported by - the wildcards in libsepol.map. - -1.9.34 2005-10-31 - * Merged record interface, record bugfix, and set_roles patches - from Ivan Gyurdiev. - -1.9.33 2005-10-27 - * Merged count specification change from Ivan Gyurdiev. - -1.9.32 2005-10-26 - * Added further checking and error reporting to - sepol_module_package_read and _info. - -1.9.31 2005-10-26 - * Merged sepol handle passing, DEBUG conversion, and memory leak - fix patches from Ivan Gyurdiev. - -1.9.30 2005-10-25 - * Removed processing of system.users from sepol_genusers and - dropped delusers logic. - -1.9.29 2005-10-25 - * Removed policydb_destroy from error path of policydb_read, - since create/init/destroy/free of policydb is handled by the - caller now. - * Fixed sepol_module_package_read to handle a failed policydb_read - properly. - -1.9.28 2005-10-25 - * Merged query/exists and count patches from Ivan Gyurdiev. - -1.9.27 2005-10-25 - * Merged fix for pruned types in expand code from Joshua Brindle. - * Merged new module package format code from Joshua Brindle. - -1.9.26 2005-10-24 - * Merged context interface cleanup, record conversion code, - key passing, and bug fix patches from Ivan Gyurdiev. - -1.9.25 2005-10-21 - * Merged users cleanup patch from Ivan Gyurdiev. - -1.9.24 2005-10-21 - * Merged user record memory leak fix from Ivan Gyurdiev. - * Merged reorganize users patch from Ivan Gyurdiev. - -1.9.23 2005-10-19 - * Added check flag to expand_module() to control assertion - and hierarchy checking on expansion. - -1.9.22 2005-10-19 - * Reworked check_assertions() and hierarchy_check_constraints() - to take handles and use callback-based error reporting. - * Changed expand_module() to call check_assertions() and - hierarchy_check_constraints() prior to returning the expanded - policy. - -1.9.21 2005-10-18 - * Changed sepol_module_package_set_file_contexts to copy the - file contexts data since it is internally managed. - -1.9.20 2005-10-18 - * Added sepol_policy_file_set_handle interface to associate - a handle with a policy file. - * Added handle argument to policydb_from_image/to_image. - * Added sepol_module_package_set_file_contexts interface. - * Dropped sepol_module_package_create_file interface. - * Reworked policydb_read/write, policydb_from_image/to_image, - and sepol_module_package_read/write to use callback-based error - reporting system rather than DEBUG. - -1.9.19 2005-10-17 - * Reworked link_packages, link_modules, and expand_module to use - callback-based error reporting system rather than error buffering. - -1.9.18 2005-10-14 - * Merged conditional expression mapping fix in the module linking - code from Joshua Brindle. - -1.9.17 2005-10-13 - * Hid sepol_module_package type definition, and added get interfaces. - -1.9.16 2005-10-13 - * Merged new callback-based error reporting system from Ivan - Gyurdiev. - -1.9.15 2005-10-13 - * Merged support for require blocks inside conditionals from - Joshua Brindle (Tresys). - -1.9.14 2005-10-07 - * Fixed use of policydb_from_image/to_image to ensure proper - init of policydb. - -1.9.13 2005-10-07 - * Isolated policydb internal headers under <sepol/policydb/*.h>. - These headers should only be used by users of the static libsepol. - Created new <sepol/policydb.h> with new public types and interfaces - for shared libsepol. - Created new <sepol/module.h> with public types and interfaces moved - or wrapped from old module.h, link.h, and expand.h, adjusted for - new public types for policydb and policy_file. - Added public interfaces to libsepol.map. - Some implementation changes visible to users of the static libsepol: - 1) policydb_read no longer calls policydb_init. - Caller must do so first. - 2) policydb_init no longer takes policy_type argument. - Caller must set policy_type separately. - 3) expand_module automatically enables the global branch. - Caller no longer needs to do so. - 4) policydb_write uses the policy_type and policyvers from the - policydb itself, and sepol_set_policyvers() has been removed. - -1.9.12 2005-10-06 - * Merged function renaming and static cleanup from Ivan Gyurdiev. - -1.9.11 2005-10-05 - * Merged bug fix for check_assertions handling of no assertions - from Joshua Brindle (Tresys). - -1.9.10 2005-10-04 - * Merged iterate patch from Ivan Gyurdiev. - -1.9.9 2005-10-03 - * Merged MLS in modules patch from Joshua Brindle (Tresys). - -1.9.8 2005-09-30 - * Merged pointer typedef elimination patch from Ivan Gyurdiev. - * Merged user list function, new mls functions, and bugfix patch - from Ivan Gyurdiev. - -1.9.7 2005-09-28 - * Merged sepol_get_num_roles fix from Karl MacMillan (Tresys). - -1.9.6 2005-09-23 - * Merged bug fix patches from Joshua Brindle (Tresys). - -1.9.5 2005-09-21 - * Merged boolean record and memory leak fix patches from Ivan - Gyurdiev. - -1.9.4 2005-09-19 - * Merged interface record patch from Ivan Gyurdiev. - -1.9.3 2005-09-14 - * Merged fix for sepol_enable/disable_debug from Ivan - Gyurdiev. - -1.9.2 2005-09-14 - * Merged stddef.h patch and debug conversion patch from - Ivan Gyurdiev. - -1.9.1 2005-09-09 - * Fixed expand_avtab and expand_cond_av_list to keep separate - entries with identical keys but different enabled flags. - -1.8 2005-09-06 - * Updated version for release. - -1.7.24 2005-08-31 - * Fixed symtab_insert return value for duplicate declarations. - -1.7.23 2005-08-31 - * Merged fix for memory error in policy_module_destroy from - Jason Tang (Tresys). - -1.7.22 2005-08-26 - * Merged fix for memory leak in sepol_context_to_sid from - Jason Tang (Tresys). - -1.7.21 2005-08-25 - * Merged fixes for resource leaks on error paths and - change to scope_destroy from Joshua Brindle (Tresys). - -1.7.20 2005-08-23 - * Merged more fixes for resource leaks on error paths - from Serge Hallyn (IBM). Bugs found by Coverity. - -1.7.19 2005-08-19 - * Changed to treat all type conflicts as fatal errors. - -1.7.18 2005-08-18 - * Merged several error handling fixes from - Serge Hallyn (IBM). Bugs found by Coverity. - -1.7.17 2005-08-15 - * Fixed further memory leaks found by valgrind. - -1.7.16 2005-08-15 - * Fixed several memory leaks found by valgrind. - -1.7.15 2005-08-12 - * Fixed empty list test in cond_write_av_list. Bug found by - Coverity, reported by Serge Hallyn (IBM). - * Merged patch to policydb_write to check errors - when writing the type->attribute reverse map from - Serge Hallyn (IBM). Bug found by Coverity. - * Fixed policydb_destroy to properly handle NULL type_attr_map - or attr_type_map. - -1.7.14 2005-08-12 - * Fixed use of uninitialized data by expand_avtab_node by - clearing type_val_to_struct in policydb_index_others. - -1.7.13 2005-08-11 - * Improved memory use by SELinux by both reducing the avtab - node size and reducing the number of avtab nodes (by not - expanding attributes in TE rules when possible). Added - expand_avtab and expand_cond_av_list functions for use by - assertion checker, hierarchy checker, compatibility code, - and dispol. Added new inline ebitmap operators and converted - existing users of ebitmaps to the new operators for greater - efficiency. - Note: The binary policy format version has been incremented to - version 20 as a result of these changes. - -1.7.12 2005-08-10 - * Fixed bug in constraint_node_clone handling of name sets. - -1.7.11 2005-08-08 - * Fix range_trans_clone to map the type values properly. - -1.7.10 2005-08-02 - * Merged patch to move module read/write code from libsemanage - to libsepol from Jason Tang (Tresys). - -1.7.9 2005-08-02 - * Enabled further compiler warning flags and fixed them. - -1.7.8 2005-08-02 - * Merged user, context, port records patch from Ivan Gyurdiev. - * Merged key extract function patch from Ivan Gyurdiev. - -1.7.7 2005-07-27 - * Merged mls_context_to_sid bugfix from Ivan Gyurdiev. - -1.7.6 2005-07-26 - * Merged context reorganization, memory leak fixes, - port and interface loading, replacements for genusers and - genbools, debug traceback, and bugfix patches from Ivan Gyurdiev. - * Merged uninitialized variable bugfix from Dan Walsh. - -1.7.5 2005-07-18 - * Merged debug support, policydb conversion functions from Ivan Gyurdiev (Red Hat). - * Removed genpolbools and genpolusers utilities. - -1.7.4 2005-07-18 - * Merged hierarchy check fix from Joshua Brindle (Tresys). - -1.7.3 2005-07-13 - * Merged header file cleanup and memory leak fix from Ivan Gyurdiev (Red Hat). - -1.7.2 2005-07-11 - * Merged genbools debugging message cleanup from Red Hat. - -1.7.1 2005-07-06 - * Merged loadable module support from Tresys Technology. - -1.6 2005-06-20 - * Updated version for release. - -1.5.10 2005-05-19 - * License changed to LGPL v2.1, see COPYING. - -1.5.9 2005-05-16 - * Added sepol_genbools_policydb and sepol_genusers_policydb for - audit2why. - -1.5.8 2005-05-13 - * Added sepol_ prefix to Flask types to avoid - namespace collision with libselinux. - -1.5.7 2005-05-13 - * Added sepol_compute_av_reason() for audit2why. - -1.5.6 2005-04-25 - * Fixed bug in role hierarchy checker. - -1.5.5 2005-04-13 - * Merged hierarchical type/role patch from Tresys Technology. - * Merged MLS fixes from Darrel Goeddel of TCS. - -1.5.4 2005-04-13 - * Changed sepol_genusers to not delete users by default, - and added a sepol_set_delusers function to enable deletion. - Also, removed special case handling of system_u and user_u. - -1.5.3 2005-03-29 - * Merged booleans.local patch from Dan Walsh. - -1.5.2 2005-03-16 - * Added man page for sepol_check_context. - -1.5.1 2005-03-15 - * Added man page for sepol_genusers function. - * Merged man pages for genpolusers and chkcon from Manoj Srivastava. - -1.4 2005-03-09 - * Updated version for release. - -1.3.8 2005-03-08 - * Cleaned up error handling in sepol_genusers and sepol_genbools. - -1.3.7 2005-02-28 - * Merged sepol_debug and fclose patch from Dan Walsh. - -1.3.6 2005-02-22 - * Changed sepol_genusers to also use getline and correctly handle - EOL. - -1.3.5 2005-02-17 - * Merged range_transition support from Darrel Goeddel (TCS). - -1.3.4 2005-02-16 - * Added sepol_genusers function. - -1.3.3 2005-02-14 - * Merged endianness and compute_av patches from Darrel Goeddel (TCS). - -1.3.2 2005-02-09 - * Changed relabel Makefile target to use restorecon. - -1.3.1 2005-01-26 - * Merged enhanced MLS support from Darrel Goeddel (TCS). - -1.2.1 2005-01-19 - * Merged build fix patch from Manoj Srivastava. - -1.2 2004-10-07 - * MLS build fixes. - * Added sepol_set_policydb_from_file and sepol_check_context for setfiles. - -1.0 2004-08-19 - * Initial public release. - -0.4 2004-08-13 - * Merged patch from Dan Walsh to ignore case on booleans. - * Changed sepol_genbools* to preserve the original policy version. - * Replaced exported global variables with set functions. - * Moved genpolbools utility from checkpolicy to libsepol. - * Added man pages for sepol_genbools* and genpolbools. - -0.3 2004-08-10 - * Added ChangeLog, COPYING, spec file. - * Added sepol_genbools_array() for load_policy. - * Created libsepol.map to limit exported symbols in shared library. - -0.2 2004-08-09 - * Exported other functions for checkpolicy and friends. - * Renamed service and sidtab functions to avoid libselinux conflict. - * Removed original code from checkpolicy, which now uses libsepol. - * Code cleanup: kill legacy references to kernel types/functions. - -0.1 2004-08-06 - * Moved checkpolicy core logic into a library. - * Exported sepol_genbools() for load_policy. Copied: tags/libsepol_1_15_2/libsepol/ChangeLog (from rev 2075, trunk/libsepol/ChangeLog) =================================================================== --- tags/libsepol_1_15_2/libsepol/ChangeLog (rev 0) +++ tags/libsepol_1_15_2/libsepol/ChangeLog 2006-10-31 18:39:13 UTC (rev 2076) @@ -0,0 +1,585 @@ +1.15.2 2006-10-31 + * Merged fix from Karl MacMillan for a segfault when linking + non-MLS modules with users in them. + +1.15.1 2006-10-24 + * Merged fix for version comparison that was preventing range + transition rules from being written for a version 5 base policy + from Darrel Goeddel. + +1.14 2006-10-17 + * Updated version for release. + +1.12.28 2006-09-28 + * Build libsepol's static object files with -fpic + +1.12.27 2006-09-28 + * Merged mls user and range_transition support in modules + from Darrel Goeddel + +1.12.26 2006-09-05 + * Merged range transition enhancements and user format changes + Darrel Goeddel + +1.12.25 2006-08-24 + * Merged conditionally expand neverallows patch from Jeremy Mowery. + * Merged refactor expander patch from Jeremy Mowery. + +1.12.24 2006-08-03 + * Merged libsepol unit tests from Joshua Brindle. + +1.12.23 2006-08-03 + * Merged symtab datum patch from Karl MacMillan. + +1.12.22 2006-08-03 + * Merged netfilter contexts support from Chris PeBenito. + +1.12.21 2006-07-28 + * Merged helpful hierarchy check errors patch from Joshua Brindle. + +1.12.20 2006-07-25 + * Merged semodule_deps patch from Karl MacMillan. + This adds source module names to the avrule decls. + +1.12.19 2006-06-29 + * Lindent. + +1.12.18 2006-06-26 + * Merged optionals in base take 2 patch set from Joshua Brindle. + +1.12.17 2006-05-30 + * Revert 1.12.16. + +1.12.16 2006-05-30 + * Merged cleaner fix for bool_ids overflow from Karl MacMillan, + replacing the prior patch. + +1.12.15 2006-05-30 + * Merged fixes for several memory leaks in the error paths during + policy read from Serge Hallyn. + +1.12.14 2006-05-25 + * Fixed bool_ids overflow bug in cond_node_find and cond_copy_list, + based on bug report and suggested fix by Cedric Roux. + +1.12.13 2006-05-24 + * Merged sens_copy_callback, check_role_hierarchy_callback, + and node_from_record fixes from Serge Hallyn. + +1.12.12 2006-05-22 + * Added sepol_policydb_compat_net() interface for testing whether + a policy requires the compatibility support for network checks + to be enabled in the kernel. + +1.12.11 2006-05-17 + * Merged patch to initialize sym_val_to_name arrays from Kevin Carr. + Reworked to use calloc in the first place, and converted some other + malloc/memset pairs to calloc calls. + +1.12.10 2006-05-08 + * Merged patch to revert role/user decl upgrade from Karl MacMillan. + +1.12.9 2006-05-08 + * Dropped tests from all Makefile target. + +1.12.8 2006-05-05 + * Merged fix warnings patch from Karl MacMillan. + +1.12.7 2006-05-05 + * Merged libsepol test framework patch from Karl MacMillan. + +1.12.6 2006-04-28 + * Fixed cond_normalize to traverse the entire cond list at link time. + +1.12.5 2006-04-03 + * Merged fix for leak of optional package sections from Ivan Gyurdiev. + +1.12.4 2006-03-29 + * Generalize test for bitmap overflow in ebitmap_set_bit. + +1.12.3 2006-03-27 + * Fixed attr_convert_callback and expand_convert_type_set + typemap bug. + +1.12.2 2006-03-24 + * Fixed avrule_block_write num_decls endian bug. + +1.12.1 2006-03-20 + * Fixed sepol_module_package_write buffer overflow bug. + +1.12 2006-03-14 + * Updated version for release. + +1.11.20 2006-03-08 + * Merged cond_evaluate_expr fix from Serge Hallyn (IBM). + * Fixed bug in copy_avrule_list reported by Ivan Gyurdiev. + +1.11.19 2006-02-21 + * Merged sepol_policydb_mls_enabled interface and error handling + changes from Ivan Gyurdiev. + +1.11.18 2006-02-16 + * Merged node_expand_addr bugfix and node_compare* change from + Ivan Gyurdiev. + +1.11.17 2006-02-15 + * Merged nodes, ports: always prepend patch from Ivan Gyurdiev. + * Merged bug fix patch from Ivan Gyurdiev. + +1.11.16 2006-02-14 + * Added a defined flag to level_datum_t for use by checkpolicy. + +1.11.15 2006-02-14 + * Merged nodecon support patch from Ivan Gyurdiev. + * Merged cleanups patch from Ivan Gyurdiev. + +1.11.14 2006-02-13 + * Merged optionals in base patch from Joshua Brindle. + +1.11.13 2006-02-07 + * Merged seuser/user_extra support patch from Joshua Brindle. + * Merged fix patch from Ivan Gyurdiev. + +1.11.12 2006-02-02 + * Merged clone record on set_con patch from Ivan Gyurdiev. + +1.11.11 2006-02-01 + * Merged assertion copying bugfix from Joshua Brindle. + * Merged sepol_av_to_string patch from Joshua Brindle. + +1.11.10 2006-01-30 + * Merged cond_expr mapping and package section count bug fixes + from Joshua Brindle. + * Merged improve port/fcontext API patch from Ivan Gyurdiev. + * Merged fixes for overflow bugs on 64-bit from Ivan Gyurdiev. + +1.11.9 2006-01-12 + * Merged size_t -> unsigned int patch from Ivan Gyurdiev. + +1.11.8 2006-01-09 + * Merged 2nd const in APIs patch from Ivan Gyurdiev. + +1.11.7 2006-01-06 + * Merged const in APIs patch from Ivan Gyurdiev. + * Merged compare2 function patch from Ivan Gyurdiev. + +1.11.6 2006-01-06 + * Fixed hierarchy checker to only check allow rules. + +1.11.5 2006-01-05 + * Merged further fixes from Russell Coker, specifically: + - av_to_string overflow checking + - sepol_context_to_string error handling + - hierarchy checking memory leak fixes and optimizations + - avrule_block_read variable initialization + * Marked deprecated code in genbools and genusers. + +1.11.4 2006-01-05 + * Merged bugfix for sepol_port_modify from Russell Coker. + +1.11.3 2006-01-05 + * Fixed bug in sepol_iface_modify error path noted by Ivan Gyurdiev. + * Merged port ordering patch from Ivan Gyurdiev. + +1.11.2 2006-01-04 + * Merged patch series from Ivan Gyurdiev. + This includes patches to: + - support ordering of records in compare function + - enable port interfaces + - add interfaces for context validity and range checks + - add include guards + +1.11.1 2005-12-16 + * Fixed mls_range_cpy bug. + +1.10 2005-12-07 + * Updated version for release. + +1.9.42 2005-12-05 + * Dropped handle from user_del_role interface. + +1.9.41 2005-11-28 + * Merged remove defrole from sepol patch from Ivan Gyurdiev. + +1.9.40 2005-11-15 + * Merged module function and map file cleanup from Ivan Gyurdiev. + * Merged MLS and genusers cleanups from Ivan Gyurdiev. + +1.9.39 2005-11-09 + Prepare for removal of booleans* and *.users files. + * Cleaned up sepol_genbools to not regenerate the image if + there were no changes in the boolean values, including the + degenerate case where there are no booleans or booleans.local + files. + * Cleaned up sepol_genusers to not warn on missing local.users. + +1.9.38 2005-11-08 + * Removed sepol_port_* from libsepol.map, as the port interfaces + are not yet stable. + +1.9.37 2005-11-04 + * Merged context destroy cleanup patch from Ivan Gyurdiev. + +1.9.36 2005-11-03 + * Merged context_to_string interface change patch from Ivan Gyurdiev. + +1.9.35 2005-11-01 + * Added src/dso.h and src/*_internal.h. + Added hidden_def for exported symbols used within libsepol. + Added hidden for symbols that should not be exported by + the wildcards in libsepol.map. + +1.9.34 2005-10-31 + * Merged record interface, record bugfix, and set_roles patches + from Ivan Gyurdiev. + +1.9.33 2005-10-27 + * Merged count specification change from Ivan Gyurdiev. + +1.9.32 2005-10-26 + * Added further checking and error reporting to + sepol_module_package_read and _info. + +1.9.31 2005-10-26 + * Merged sepol handle passing, DEBUG conversion, and memory leak + fix patches from Ivan Gyurdiev. + +1.9.30 2005-10-25 + * Removed processing of system.users from sepol_genusers and + dropped delusers logic. + +1.9.29 2005-10-25 + * Removed policydb_destroy from error path of policydb_read, + since create/init/destroy/free of policydb is handled by the + caller now. + * Fixed sepol_module_package_read to handle a failed policydb_read + properly. + +1.9.28 2005-10-25 + * Merged query/exists and count patches from Ivan Gyurdiev. + +1.9.27 2005-10-25 + * Merged fix for pruned types in expand code from Joshua Brindle. + * Merged new module package format code from Joshua Brindle. + +1.9.26 2005-10-24 + * Merged context interface cleanup, record conversion code, + key passing, and bug fix patches from Ivan Gyurdiev. + +1.9.25 2005-10-21 + * Merged users cleanup patch from Ivan Gyurdiev. + +1.9.24 2005-10-21 + * Merged user record memory leak fix from Ivan Gyurdiev. + * Merged reorganize users patch from Ivan Gyurdiev. + +1.9.23 2005-10-19 + * Added check flag to expand_module() to control assertion + and hierarchy checking on expansion. + +1.9.22 2005-10-19 + * Reworked check_assertions() and hierarchy_check_constraints() + to take handles and use callback-based error reporting. + * Changed expand_module() to call check_assertions() and + hierarchy_check_constraints() prior to returning the expanded + policy. + +1.9.21 2005-10-18 + * Changed sepol_module_package_set_file_contexts to copy the + file contexts data since it is internally managed. + +1.9.20 2005-10-18 + * Added sepol_policy_file_set_handle interface to associate + a handle with a policy file. + * Added handle argument to policydb_from_image/to_image. + * Added sepol_module_package_set_file_contexts interface. + * Dropped sepol_module_package_create_file interface. + * Reworked policydb_read/write, policydb_from_image/to_image, + and sepol_module_package_read/write to use callback-based error + reporting system rather than DEBUG. + +1.9.19 2005-10-17 + * Reworked link_packages, link_modules, and expand_module to use + callback-based error reporting system rather than error buffering. + +1.9.18 2005-10-14 + * Merged conditional expression mapping fix in the module linking + code from Joshua Brindle. + +1.9.17 2005-10-13 + * Hid sepol_module_package type definition, and added get interfaces. + +1.9.16 2005-10-13 + * Merged new callback-based error reporting system from Ivan + Gyurdiev. + +1.9.15 2005-10-13 + * Merged support for require blocks inside conditionals from + Joshua Brindle (Tresys). + +1.9.14 2005-10-07 + * Fixed use of policydb_from_image/to_image to ensure proper + init of policydb. + +1.9.13 2005-10-07 + * Isolated policydb internal headers under <sepol/policydb/*.h>. + These headers should only be used by users of the static libsepol. + Created new <sepol/policydb.h> with new public types and interfaces + for shared libsepol. + Created new <sepol/module.h> with public types and interfaces moved + or wrapped from old module.h, link.h, and expand.h, adjusted for + new public types for policydb and policy_file. + Added public interfaces to libsepol.map. + Some implementation changes visible to users of the static libsepol: + 1) policydb_read no longer calls policydb_init. + Caller must do so first. + 2) policydb_init no longer takes policy_type argument. + Caller must set policy_type separately. + 3) expand_module automatically enables the global branch. + Caller no longer needs to do so. + 4) policydb_write uses the policy_type and policyvers from the + policydb itself, and sepol_set_policyvers() has been removed. + +1.9.12 2005-10-06 + * Merged function renaming and static cleanup from Ivan Gyurdiev. + +1.9.11 2005-10-05 + * Merged bug fix for check_assertions handling of no assertions + from Joshua Brindle (Tresys). + +1.9.10 2005-10-04 + * Merged iterate patch from Ivan Gyurdiev. + +1.9.9 2005-10-03 + * Merged MLS in modules patch from Joshua Brindle (Tresys). + +1.9.8 2005-09-30 + * Merged pointer typedef elimination patch from Ivan Gyurdiev. + * Merged user list function, new mls functions, and bugfix patch + from Ivan Gyurdiev. + +1.9.7 2005-09-28 + * Merged sepol_get_num_roles fix from Karl MacMillan (Tresys). + +1.9.6 2005-09-23 + * Merged bug fix patches from Joshua Brindle (Tresys). + +1.9.5 2005-09-21 + * Merged boolean record and memory leak fix patches from Ivan + Gyurdiev. + +1.9.4 2005-09-19 + * Merged interface record patch from Ivan Gyurdiev. + +1.9.3 2005-09-14 + * Merged fix for sepol_enable/disable_debug from Ivan + Gyurdiev. + +1.9.2 2005-09-14 + * Merged stddef.h patch and debug conversion patch from + Ivan Gyurdiev. + +1.9.1 2005-09-09 + * Fixed expand_avtab and expand_cond_av_list to keep separate + entries with identical keys but different enabled flags. + +1.8 2005-09-06 + * Updated version for release. + +1.7.24 2005-08-31 + * Fixed symtab_insert return value for duplicate declarations. + +1.7.23 2005-08-31 + * Merged fix for memory error in policy_module_destroy from + Jason Tang (Tresys). + +1.7.22 2005-08-26 + * Merged fix for memory leak in sepol_context_to_sid from + Jason Tang (Tresys). + +1.7.21 2005-08-25 + * Merged fixes for resource leaks on error paths and + change to scope_destroy from Joshua Brindle (Tresys). + +1.7.20 2005-08-23 + * Merged more fixes for resource leaks on error paths + from Serge Hallyn (IBM). Bugs found by Coverity. + +1.7.19 2005-08-19 + * Changed to treat all type conflicts as fatal errors. + +1.7.18 2005-08-18 + * Merged several error handling fixes from + Serge Hallyn (IBM). Bugs found by Coverity. + +1.7.17 2005-08-15 + * Fixed further memory leaks found by valgrind. + +1.7.16 2005-08-15 + * Fixed several memory leaks found by valgrind. + +1.7.15 2005-08-12 + * Fixed empty list test in cond_write_av_list. Bug found by + Coverity, reported by Serge Hallyn (IBM). + * Merged patch to policydb_write to check errors + when writing the type->attribute reverse map from + Serge Hallyn (IBM). Bug found by Coverity. + * Fixed policydb_destroy to properly handle NULL type_attr_map + or attr_type_map. + +1.7.14 2005-08-12 + * Fixed use of uninitialized data by expand_avtab_node by + clearing type_val_to_struct in policydb_index_others. + +1.7.13 2005-08-11 + * Improved memory use by SELinux by both reducing the avtab + node size and reducing the number of avtab nodes (by not + expanding attributes in TE rules when possible). Added + expand_avtab and expand_cond_av_list functions for use by + assertion checker, hierarchy checker, compatibility code, + and dispol. Added new inline ebitmap operators and converted + existing users of ebitmaps to the new operators for greater + efficiency. + Note: The binary policy format version has been incremented to + version 20 as a result of these changes. + +1.7.12 2005-08-10 + * Fixed bug in constraint_node_clone handling of name sets. + +1.7.11 2005-08-08 + * Fix range_trans_clone to map the type values properly. + +1.7.10 2005-08-02 + * Merged patch to move module read/write code from libsemanage + to libsepol from Jason Tang (Tresys). + +1.7.9 2005-08-02 + * Enabled further compiler warning flags and fixed them. + +1.7.8 2005-08-02 + * Merged user, context, port records patch from Ivan Gyurdiev. + * Merged key extract function patch from Ivan Gyurdiev. + +1.7.7 2005-07-27 + * Merged mls_context_to_sid bugfix from Ivan Gyurdiev. + +1.7.6 2005-07-26 + * Merged context reorganization, memory leak fixes, + port and interface loading, replacements for genusers and + genbools, debug traceback, and bugfix patches from Ivan Gyurdiev. + * Merged uninitialized variable bugfix from Dan Walsh. + +1.7.5 2005-07-18 + * Merged debug support, policydb conversion functions from Ivan Gyurdiev (Red Hat). + * Removed genpolbools and genpolusers utilities. + +1.7.4 2005-07-18 + * Merged hierarchy check fix from Joshua Brindle (Tresys). + +1.7.3 2005-07-13 + * Merged header file cleanup and memory leak fix from Ivan Gyurdiev (Red Hat). + +1.7.2 2005-07-11 + * Merged genbools debugging message cleanup from Red Hat. + +1.7.1 2005-07-06 + * Merged loadable module support from Tresys Technology. + +1.6 2005-06-20 + * Updated version for release. + +1.5.10 2005-05-19 + * License changed to LGPL v2.1, see COPYING. + +1.5.9 2005-05-16 + * Added sepol_genbools_policydb and sepol_genusers_policydb for + audit2why. + +1.5.8 2005-05-13 + * Added sepol_ prefix to Flask types to avoid + namespace collision with libselinux. + +1.5.7 2005-05-13 + * Added sepol_compute_av_reason() for audit2why. + +1.5.6 2005-04-25 + * Fixed bug in role hierarchy checker. + +1.5.5 2005-04-13 + * Merged hierarchical type/role patch from Tresys Technology. + * Merged MLS fixes from Darrel Goeddel of TCS. + +1.5.4 2005-04-13 + * Changed sepol_genusers to not delete users by default, + and added a sepol_set_delusers function to enable deletion. + Also, removed special case handling of system_u and user_u. + +1.5.3 2005-03-29 + * Merged booleans.local patch from Dan Walsh. + +1.5.2 2005-03-16 + * Added man page for sepol_check_context. + +1.5.1 2005-03-15 + * Added man page for sepol_genusers function. + * Merged man pages for genpolusers and chkcon from Manoj Srivastava. + +1.4 2005-03-09 + * Updated version for release. + +1.3.8 2005-03-08 + * Cleaned up error handling in sepol_genusers and sepol_genbools. + +1.3.7 2005-02-28 + * Merged sepol_debug and fclose patch from Dan Walsh. + +1.3.6 2005-02-22 + * Changed sepol_genusers to also use getline and correctly handle + EOL. + +1.3.5 2005-02-17 + * Merged range_transition support from Darrel Goeddel (TCS). + +1.3.4 2005-02-16 + * Added sepol_genusers function. + +1.3.3 2005-02-14 + * Merged endianness and compute_av patches from Darrel Goeddel (TCS). + +1.3.2 2005-02-09 + * Changed relabel Makefile target to use restorecon. + +1.3.1 2005-01-26 + * Merged enhanced MLS support from Darrel Goeddel (TCS). + +1.2.1 2005-01-19 + * Merged build fix patch from Manoj Srivastava. + +1.2 2004-10-07 + * MLS build fixes. + * Added sepol_set_policydb_from_file and sepol_check_context for setfiles. + +1.0 2004-08-19 + * Initial public release. + +0.4 2004-08-13 + * Merged patch from Dan Walsh to ignore case on booleans. + * Changed sepol_genbools* to preserve the original policy version. + * Replaced exported global variables with set functions. + * Moved genpolbools utility from checkpolicy to libsepol. + * Added man pages for sepol_genbools* and genpolbools. + +0.3 2004-08-10 + * Added ChangeLog, COPYING, spec file. + * Added sepol_genbools_array() for load_policy. + * Created libsepol.map to limit exported symbols in shared library. + +0.2 2004-08-09 + * Exported other functions for checkpolicy and friends. + * Renamed service and sidtab functions to avoid libselinux conflict. + * Removed original code from checkpolicy, which now uses libsepol. + * Code cleanup: kill legacy references to kernel types/functions. + +0.1 2004-08-06 + * Moved checkpolicy core logic into a library. + * Exported sepol_genbools() for load_policy. Deleted: tags/libsepol_1_15_2/libsepol/VERSION =================================================================== --- trunk/libsepol/VERSION 2006-10-24 16:09:54 UTC (rev 2074) +++ tags/libsepol_1_15_2/libsepol/VERSION 2006-10-31 18:39:13 UTC (rev 2076) @@ -1 +0,0 @@ -1.15.1 Copied: tags/libsepol_1_15_2/libsepol/VERSION (from rev 2075, trunk/libsepol/VERSION) =================================================================== --- tags/libsepol_1_15_2/libsepol/VERSION (rev 0) +++ tags/libsepol_1_15_2/libsepol/VERSION 2006-10-31 18:39:13 UTC (rev 2076) @@ -0,0 +1 @@ +1.15.2 Deleted: tags/libsepol_1_15_2/libsepol/src/link.c =================================================================== --- trunk/libsepol/src/link.c 2006-10-24 16:09:54 UTC (rev 2074) +++ tags/libsepol_1_15_2/libsepol/src/link.c 2006-10-31 18:39:13 UTC (rev 2076) @@ -1,2216 +0,0 @@ -/* Authors: Karl MacMillan <kma...@tr...> - * Joshua Brindle <jbr...@tr...> - * Jason Tang <jt...@tr...> - * - * Copyright (C) 2004-2005 Tresys Technology, LLC - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <sepol/policydb/policydb.h> -#include <sepol/policydb/conditional.h> -#include <sepol/policydb/hashtab.h> -#include <sepol/policydb/avrule_block.h> -#include <sepol/policydb/link.h> -#include <sepol/policydb/util.h> - -#include <stdlib.h> -#include <stdarg.h> -#include <stdio.h> -#include <string.h> -#include <assert.h> - -#include "debug.h" - -#undef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) - -typedef struct policy_module { - policydb_t *policy; - uint32_t num_decls; - uint32_t *map[SYM_NUM]; - uint32_t *avdecl_map; - uint32_t **perm_map; - uint32_t *perm_map_len; - - /* a pointer to within the base module's avrule_block chain to - * where this module's global now resides */ - avrule_block_t *base_global; -} policy_module_t; - -typedef struct link_state { - int verbose; - policydb_t *base; - avrule_block_t *last_avrule_block, *last_base_avrule_block; - uint32_t next_decl_id, current_decl_id; - - /* temporary variables, used during hashtab_map() calls */ - policy_module_t *cur; - char *cur_mod_name; - avrule_decl_t *dest_decl; - class_datum_t *src_class, *dest_class; - char *dest_class_name; - char dest_class_req; /* flag indicating the class was not declared */ - uint32_t symbol_num; - /* used to report the name of the module if dependancy error occurs */ - policydb_t **decl_to_mod; - - /* error reporting fields */ - sepol_handle_t *handle; -} link_state_t; - -typedef struct missing_requirement { - uint32_t symbol_type; - uint32_t symbol_value; - uint32_t perm_value; -} missing_requirement_t; - -static const char *symtab_names[SYM_NUM] = { - "common", "class", "role", "type/attribute", "user", - "bool", "level", "category" -}; - -/* Deallocates all elements within a module, but NOT the policydb_t - * structure within, as well as the pointer itself. */ -static void policy_module_destroy(policy_module_t * mod) -{ - unsigned int i; - if (mod == NULL) { - return; - } - for (i = 0; i < SYM_NUM; i++) { - free(mod->map[i]); - } - for (i = 0; mod->perm_map != NULL && i < mod->policy->p_classes.nprim; - i++) { - free(mod->perm_map[i]); - } - free(mod->perm_map); - free(mod->perm_map_len); - free(mod->avdecl_map); - free(mod); -} - -/***** functions that copy identifiers from a module to base *****/ - -/* Note: there is currently no scoping for permissions, which causes some - * strange side-effects. The current approach is this: - * - * a) perm is required and the class _and_ perm are declared in base: only add a mapping. - * b) perm is required and the class and perm are _not_ declared in base: simply add the permissions - * to the object class. This means that the requirements for the decl are the union of the permissions - * required for all decls, but who cares. - * c) perm is required, the class is declared in base, but the perm is not present. Nothing we can do - * here because we can't mark a single permission as required, so we bail with a requirement error - * _even_ if we are in an optional. - * - * A is correct behavior, b is wrong but not too bad, c is totall wrong for optionals. Fixing this requires - * a format change. - */ -static int permission_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - char *perm_id = key, *new_id = NULL; - perm_datum_t *perm, *new_perm = NULL, *dest_perm; - link_state_t *state = (link_state_t *) data; - - class_datum_t *src_class = state->src_class; - class_datum_t *dest_class = state->dest_class; - policy_module_t *mod = state->cur; - uint32_t sclassi = src_class->s.value - 1; - int ret; - - perm = (perm_datum_t *) datum; - dest_perm = hashtab_search(dest_class->permissions.table, perm_id); - if (dest_perm == NULL && dest_class->comdatum != NULL) { - dest_perm = - hashtab_search(dest_class->comdatum->permissions.table, - perm_id); - } - - if (dest_perm == NULL) { - /* If the object class was not declared in the base, add the perm - * to the object class. */ - if (state->dest_class_req) { - /* If the class was required (not declared), insert the new permission */ - new_id = strdup(perm_id); - if (new_id == NULL) { - ERR(state->handle, "Memory error"); - ret = -SEPOL_LINK_ERROR; - goto err; - } - new_perm = - (perm_datum_t *) calloc(1, sizeof(perm_datum_t)); - if (new_perm == NULL) { - ERR(state->handle, "Memory error"); - ret = -SEPOL_LINK_ERROR; - goto err; - } - ret = hashtab_insert(dest_class->permissions.table, - (hashtab_key_t) new_id, - (hashtab_datum_t) new_perm); - if (ret) { - ERR(state->handle, - "could not insert permission into class\n"); - goto err; - } - new_perm->s.value = dest_class->permissions.nprim + 1; - dest_perm = new_perm; - } else { - /* this is case c from above */ - ERR(state->handle, - "Module %s depends on permission %s in class %s, not satisfied", - state->cur_mod_name, perm_id, - state->dest_class_name); - return -SEPOL_LINK_REQNOTMET; - } - } - - /* build the mapping for permissions encompassing this class. - * unlike symbols, the permission map translates between - * module permission bit to target permission bit. that bit - * may have originated from the class -or- it could be from - * the class's common parent.*/ - if (perm->s.value > mod->perm_map_len[sclassi]) { - uint32_t *newmap = calloc(perm->s.value, sizeof(*newmap)); - if (newmap == NULL) { - ERR(state->handle, "Out of memory!"); - return -1; - } - memcpy(newmap, mod->perm_map[sclassi], - mod->perm_map_len[sclassi] * sizeof(*newmap)); - free(mod->perm_map[sclassi]); - mod->perm_map[sclassi] = newmap; - mod->perm_map_len[sclassi] = perm->s.value; - } - mod->perm_map[sclassi][perm->s.value - 1] = dest_perm->s.value; - - return 0; - err: - free(new_id); - free(new_perm); - return ret; -} - -static int class_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - char *id = key, *new_id = NULL; - class_datum_t *cladatum, *new_class = NULL; - link_state_t *state = (link_state_t *) data; - scope_datum_t *scope = NULL; - int ret; - - cladatum = (class_datum_t *) datum; - state->dest_class_req = 0; - - new_class = hashtab_search(state->base->p_classes.table, id); - /* If there is not an object class already in the base symtab that means - * that either a) a module is trying to declare a new object class (which - * the compiler should prevent) or b) an object class was required that is - * not in the base. - */ - if (new_class == NULL) { - scope = - hashtab_search(state->cur->policy->p_classes_scope.table, - id); - if (scope == NULL) { - ret = -SEPOL_LINK_ERROR; - goto err; - } - if (scope->scope == SCOPE_DECL) { - /* disallow declarations in modules */ - ERR(state->handle, - "%s: Modules may not yet declare new classes.", - state->cur_mod_name); - ret = -SEPOL_LINK_NOTSUP; - goto err; - } else { - /* It would be nice to error early here because the requirement is - * not met, but we cannot because the decl might be optional (in which - * case we should record the requirement so that it is just turned - * off). Note: this will break horribly if modules can declare object - * classes because the class numbers will be all wrong (i.e., they - * might be assigned in the order they were required rather than the - * current scheme which ensures correct numbering by ordering the - * declarations properly). This can't be fixed until some infrastructure - * for querying the object class numbers is in place. */ - state->dest_class_req = 1; - new_class = - (class_datum_t *) calloc(1, sizeof(class_datum_t)); - if (new_class == NULL) { - ERR(state->handle, "Memory error\n"); - ret = -SEPOL_LINK_ERROR; - goto err; - } - if (symtab_init - (&new_class->permissions, PERM_SYMTAB_SIZE)) { - ret = -SEPOL_LINK_ERROR; - goto err; - } - new_id = strdup(id); - if (new_id == NULL) { - ERR(state->handle, "Memory error\n"); - ret = -SEPOL_LINK_ERROR; - goto err; - } - ret = hashtab_insert(state->base->p_classes.table, - (hashtab_key_t) new_id, - (hashtab_datum_t) new_class); - if (ret) { - ERR(state->handle, - "could not insert new class into symtab"); - goto err; - } - new_class->s.value = ++(state->base->p_classes.nprim); - } - } - - state->cur->map[SYM_CLASSES][cladatum->s.value - 1] = - new_class->s.value; - - /* copy permissions */ - state->src_class = cladatum; - state->dest_class = new_class; - state->dest_class_name = (char *)key; - - ret = - hashtab_map(cladatum->permissions.table, permission_copy_callback, - state); - if (ret != 0) { - return ret; - } - - return 0; - err: - free(new_class); - free(new_id); - return ret; -} - -static int role_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - int ret; - char *id = key, *new_id = NULL; - role_datum_t *role, *base_role, *new_role = NULL; - link_state_t *state = (link_state_t *) data; - - role = (role_datum_t *) datum; - - base_role = hashtab_search(state->base->p_roles.table, id); - if (base_role == NULL) { - if (state->verbose) - INFO(state->handle, "copying role %s", id); - - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - - if ((new_role = - (role_datum_t *) malloc(sizeof(*new_role))) == NULL) { - goto cleanup; - } - role_datum_init(new_role); - - /* new_role's dominates and types field will be copied - * during role_fix_callback() */ - new_role->s.value = state->base->p_roles.nprim + 1; - - ret = hashtab_insert(state->base->p_roles.table, - (hashtab_key_t) new_id, - (hashtab_datum_t) new_role); - if (ret) { - goto cleanup; - } - state->base->p_roles.nprim++; - base_role = new_role; - } - - if (state->dest_decl) { - new_id = NULL; - if ((new_role = malloc(sizeof(*new_role))) == NULL) { - goto cleanup; - } - role_datum_init(new_role); - new_role->s.value = base_role->s.value; - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - if (hashtab_insert - (state->dest_decl->p_roles.table, new_id, new_role)) { - goto cleanup; - } - state->dest_decl->p_roles.nprim++; - } - - state->cur->map[SYM_ROLES][role->s.value - 1] = base_role->s.value; - return 0; - - cleanup: - ERR(state->handle, "Out of memory!"); - role_datum_destroy(new_role); - free(new_id); - free(new_role); - return -1; -} - -/* Copy types and attributes from a module into the base module. The - * attributes are copied, but the types that make up this attribute - * are delayed type_fix_callback(). */ -static int type_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - int ret; - char *id = key, *new_id = NULL; - type_datum_t *type, *base_type, *new_type = NULL; - link_state_t *state = (link_state_t *) data; - - type = (type_datum_t *) datum; - if ((type->flavor == TYPE_TYPE && !type->primary) - || type->flavor == TYPE_ALIAS) { - /* aliases are handled later, in alias_copy_callback() */ - return 0; - } - - base_type = hashtab_search(state->base->p_types.table, id); - if (base_type != NULL) { - /* type already exists. check that it is what this - * module expected. duplicate declarations (e.g., two - * modules both declare type foo_t) is checked during - * scope_copy_callback(). */ - if (type->flavor == TYPE_ATTRIB - && base_type->flavor != TYPE_ATTRIB) { - ERR(state->handle, - "%s: Expected %s to be an attribute, but it was already declared as a type.", - state->cur_mod_name, id); - return -1; - } else if (type->flavor != TYPE_ATTRIB - && base_type->flavor == TYPE_ATTRIB) { - ERR(state->handle, - "%s: Expected %s to be a type, but it was already declared as an attribute.", - state->cur_mod_name, id); - return -1; - } - } else { - if (state->verbose) - INFO(state->handle, "copying type %s", id); - - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - - if ((new_type = - (type_datum_t *) calloc(1, sizeof(*new_type))) == NULL) { - goto cleanup; - } - new_type->primary = type->primary; - new_type->flavor = type->flavor; - /* for attributes, the writing of new_type->types is - done in type_fix_callback() */ - - new_type->s.value = state->base->p_types.nprim + 1; - - ret = hashtab_insert(state->base->p_types.table, - (hashtab_key_t) new_id, - (hashtab_datum_t) new_type); - if (ret) { - goto cleanup; - } - state->base->p_types.nprim++; - base_type = new_type; - } - - if (state->dest_decl) { - new_id = NULL; - if ((new_type = calloc(1, sizeof(*new_type))) == NULL) { - goto cleanup; - } - new_type->primary = type->primary; - new_type->flavor = type->flavor; - new_type->s.value = base_type->s.value; - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - if (hashtab_insert - (state->dest_decl->p_types.table, new_id, new_type)) { - goto cleanup; - } - state->dest_decl->p_types.nprim++; - } - - state->cur->map[SYM_TYPES][type->s.value - 1] = base_type->s.value; - return 0; - - cleanup: - ERR(state->handle, "Out of memory!"); - free(new_id); - free(new_type); - return -1; -} - -static int user_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - int ret; - char *id = key, *new_id = NULL; - user_datum_t *user, *base_user, *new_user = NULL; - link_state_t *state = (link_state_t *) data; - - user = (user_datum_t *) datum; - - base_user = hashtab_search(state->base->p_users.table, id); - if (base_user == NULL) { - if (state->verbose) - INFO(state->handle, "copying user %s", id); - - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - - if ((new_user = - (user_datum_t *) malloc(sizeof(*new_user))) == NULL) { - goto cleanup; - } - user_datum_init(new_user); - /* new_users's roles and MLS fields will be copied during - user_fix_callback(). */ - - new_user->s.value = state->base->p_users.nprim + 1; - - ret = hashtab_insert(state->base->p_users.table, - (hashtab_key_t) new_id, - (hashtab_datum_t) new_user); - if (ret) { - goto cleanup; - } - state->base->p_users.nprim++; - base_user = new_user; - } - - if (state->dest_decl) { - new_id = NULL; - if ((new_user = malloc(sizeof(*new_user))) == NULL) { - goto cleanup; - } - user_datum_init(new_user); - new_user->s.value = base_user->s.value; - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - if (hashtab_insert - (state->dest_decl->p_users.table, new_id, new_user)) { - goto cleanup; - } - state->dest_decl->p_users.nprim++; - } - - state->cur->map[SYM_USERS][user->s.value - 1] = base_user->s.value; - return 0; - - cleanup: - ERR(state->handle, "Out of memory!"); - user_datum_destroy(new_user); - free(new_id); - free(new_user); - return -1; -} - -static int bool_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - int ret; - char *id = key, *new_id = NULL; - cond_bool_datum_t *booldatum, *base_bool, *new_bool = NULL; - link_state_t *state = (link_state_t *) data; - - booldatum = (cond_bool_datum_t *) datum; - - base_bool = hashtab_search(state->base->p_bools.table, id); - if (base_bool == NULL) { - if (state->verbose) - INFO(state->handle, "copying boolean %s", id); - - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - - if ((new_bool = - (cond_bool_datum_t *) malloc(sizeof(*new_bool))) == NULL) { - goto cleanup; - } - new_bool->state = booldatum->state; - new_bool->s.value = state->base->p_bools.nprim + 1; - - ret = hashtab_insert(state->base->p_bools.table, - (hashtab_key_t) new_id, - (hashtab_datum_t) new_bool); - if (ret) { - goto cleanup; - } - state->base->p_bools.nprim++; - base_bool = new_bool; - - } - - state->cur->map[SYM_BOOLS][booldatum->s.value - 1] = base_bool->s.value; - return 0; - - cleanup: - ERR(state->handle, "Out of memory!"); - cond_destroy_bool(new_id, new_bool, NULL); - return -1; -} - -static int sens_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - char *id = key; - level_datum_t *level, *base_level; - link_state_t *state = (link_state_t *) data; - scope_datum_t *scope; - - level = (level_datum_t *) datum; - - base_level = hashtab_search(state->base->p_levels.table, id); - if (!base_level) { - scope = - hashtab_search(state->cur->policy->p_sens_scope.table, id); - if (!scope) - return -SEPOL_LINK_ERROR; - if (scope->scope == SCOPE_DECL) { - /* disallow declarations in modules */ - ERR(state->handle, - "%s: Modules may not declare new sensitivities.", - state->cur_mod_name); - return -SEPOL_LINK_NOTSUP; - } - } - - state->cur->map[SYM_LEVELS][level->level->sens - 1] = - base_level->level->sens; - - return 0; -} - -static int cat_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - char *id = key; - cat_datum_t *cat, *base_cat; - link_state_t *state = (link_state_t *) data; - scope_datum_t *scope; - - cat = (cat_datum_t *) datum; - - base_cat = hashtab_search(state->base->p_cats.table, id); - if (!base_cat) { - scope = - hashtab_search(state->cur->policy->p_cat_scope.table, id); - if (!scope) - return -SEPOL_LINK_ERROR; - if (scope->scope == SCOPE_DECL) { - /* disallow declarations in modules */ - ERR(state->handle, - "%s: Modules may not declare new categories.", - state->cur_mod_name); - return -SEPOL_LINK_NOTSUP; - } - } - - state->cur->map[SYM_CATS][cat->s.value - 1] = base_cat->s.value; - - return 0; -} - -static int (*copy_callback_f[SYM_NUM]) (hashtab_key_t key, - hashtab_datum_t datum, void *datap) = { -NULL, class_copy_callback, role_copy_callback, type_copy_callback, - user_copy_callback, bool_copy_callback, sens_copy_callback, - cat_copy_callback}; - -/* The aliases have to be copied after the types and attributes to be - * certain that the base symbol table will have the type that the - * alias refers. Otherwise, we won't be able to find the type value - * for the alias. We can't depend on the declaration ordering because - * of the hash table. - */ -static int alias_copy_callback(hashtab_key_t key, hashtab_datum_t datum, - void *data) -{ - char *id = key, *new_id = NULL, *target_id; - type_datum_t *type, *base_type, *new_type = NULL, *target_type; - link_state_t *state = (link_state_t *) data; - policy_module_t *mod = state->cur; - int primval; - - type = (type_datum_t *) datum; - /* there are 2 kinds of aliases. Ones with their own value (TYPE_ALIAS) - * and ones with the value of their primary (TYPE_TYPE && type->primary = 0) - */ - if (! - (type->flavor == TYPE_ALIAS - || (type->flavor == TYPE_TYPE && !type->primary))) { - /* ignore types and attributes -- they were handled in - * type_copy_callback() */ - return 0; - } - - if (type->flavor == TYPE_ALIAS) - primval = type->primary; - else - primval = type->s.value; - - target_id = mod->policy->p_type_val_to_name[primval - 1]; - target_type = hashtab_search(state->base->p_types.table, target_id); - if (target_type == NULL) { - ERR(state->handle, "%s: Could not find type %s for alias %s.", - state->cur_mod_name, target_id, id); - return -1; - } - - base_type = hashtab_search(state->base->p_types.table, id); - if (base_type == NULL) { - if (state->verbose) - INFO(state->handle, "copying alias %s", id); - - if ((new_type = - (type_datum_t *) calloc(1, sizeof(*new_type))) == NULL) { - goto cleanup; - } - /* the linked copy always has TYPE_ALIAS style aliases */ - new_type->primary = target_type->s.value; - new_type->flavor = TYPE_ALIAS; - new_type->s.value = state->base->p_types.nprim + 1; - if ((new_id = strdup(id)) == NULL) { - goto cleanup; - } - if (hashtab_insert - (state->base->p_types.table, new_id, new_type)) { - goto cleanup; - } - state->base->p_types.nprim++; - base_type = new_type; - } else { - - /* if this already exists and isn't an alias it was required by another module (or base) - * and inserted into the hashtable as a type, fix it up now */ - - if (base_type->flavor == TYPE_ALIAS) { - /* error checking */ - assert(base_type->primary == target_type->s.value); - assert(base_type->primary == - mod->map[SYM_TYPES][primval - 1]); - assert(mod->map[SYM_TYPES][type->s.value - 1] == - base_type->primary); - return 0; - } - - if (base_type->flavor == TYPE_ATTRIB) { - ERR(state->handle, - "%s is an alias of an attribute, not allowed", id); - return -1; - } - - base_type->fla... [truncated message content] |
From: <mad...@us...> - 2006-10-31 18:38:15
|
Revision: 2075 http://svn.sourceforge.net/selinux/?rev=2075&view=rev Author: madmethod Date: 2006-10-31 10:37:56 -0800 (Tue, 31 Oct 2006) Log Message: ----------- Author: Karl MacMillan Email: kma...@me... Subject: RE: [PATCH] libsepol users in non-mls policy bugfix Date: Mon, 30 Oct 2006 13:56:47 -0500 On Mon, 2006-10-30 at 13:31 -0500, Joshua Brindle wrote: > > From: Karl MacMillan [mailto:kma...@me...] > > > > This patch looks ok, but shouldn't we also stop the segfault > > in mls_level_convert? The use of assert there looks like it > > is catching what should be a runtime error that should cause > > an error message rather than bailing. > > > > Otherwise: > > Yea, I tried thinking of a more elegant way to do it and couldn't come > up with anything, any suggestions? > You can put the check in mls_level_convert. > Clearly those assertions only apply to the MLS case, and we caught a > plain bug because of them, I think they are not user errors. > Yea - I forgot how all of those assertions are used in the link code. The alternative is below (with some cleanup up error handling that makes it look larger). Honestly, I don't care which patch. Karl Acked-By: Joshua Brindle <jbr...@tr...> Acked-by: Stephen Smalley <sd...@ty...> Modified Paths: -------------- trunk/libsepol/ChangeLog trunk/libsepol/VERSION trunk/libsepol/src/link.c Modified: trunk/libsepol/ChangeLog =================================================================== --- trunk/libsepol/ChangeLog 2006-10-24 16:09:54 UTC (rev 2074) +++ trunk/libsepol/ChangeLog 2006-10-31 18:37:56 UTC (rev 2075) @@ -1,3 +1,7 @@ +1.15.2 2006-10-31 + * Merged fix from Karl MacMillan for a segfault when linking + non-MLS modules with users in them. + 1.15.1 2006-10-24 * Merged fix for version comparison that was preventing range transition rules from being written for a version 5 base policy Modified: trunk/libsepol/VERSION =================================================================== --- trunk/libsepol/VERSION 2006-10-24 16:09:54 UTC (rev 2074) +++ trunk/libsepol/VERSION 2006-10-31 18:37:56 UTC (rev 2075) @@ -1 +1 @@ -1.15.1 +1.15.2 Modified: trunk/libsepol/src/link.c =================================================================== --- trunk/libsepol/src/link.c 2006-10-24 16:09:54 UTC (rev 2074) +++ trunk/libsepol/src/link.c 2006-10-31 18:37:56 UTC (rev 2075) @@ -827,19 +827,24 @@ return -1; } -static int mls_level_convert(mls_semantic_level_t * src, - mls_semantic_level_t * dst, policy_module_t * mod) +static int mls_level_convert(mls_semantic_level_t * src, mls_semantic_level_t * dst, + policy_module_t * mod, link_state_t * state) { mls_semantic_cat_t *src_cat, *new_cat; + if (!mod->policy->mls) + return 0; + assert(mod->map[SYM_LEVELS][src->sens - 1]); dst->sens = mod->map[SYM_LEVELS][src->sens - 1]; for (src_cat = src->cat; src_cat; src_cat = src_cat->next) { new_cat = (mls_semantic_cat_t *) malloc(sizeof(mls_semantic_cat_t)); - if (!new_cat) + if (!new_cat) { + ERR(state->handle, "Out of memory"); return -1; + } mls_semantic_cat_init(new_cat); new_cat->next = dst->cat; @@ -854,13 +859,16 @@ return 0; } -static int mls_range_convert(mls_semantic_range_t * src, - mls_semantic_range_t * dst, policy_module_t * mod) +static int mls_range_convert(mls_semantic_range_t * src, mls_semantic_range_t * dst, + policy_module_t * mod, link_state_t * state) { - if (mls_level_convert(&src->level[0], &dst->level[0], mod)) - return -1; - if (mls_level_convert(&src->level[1], &dst->level[1], mod)) - return -1; + int ret; + ret = mls_level_convert(&src->level[0], &dst->level[0], mod, state); + if (ret) + return ret; + ret = mls_level_convert(&src->level[1], &dst->level[1], mod, state); + if (ret) + return ret; return 0; } @@ -994,10 +1002,10 @@ goto cleanup; } - if (mls_range_convert(&user->range, &new_user->range, mod)) + if (mls_range_convert(&user->range, &new_user->range, mod, state)) goto cleanup; - if (mls_level_convert(&user->dfltlevel, &new_user->dfltlevel, mod)) + if (mls_level_convert(&user->dfltlevel, &new_user->dfltlevel, mod, state)) goto cleanup; return 0; @@ -1224,7 +1232,7 @@ } } - if (mls_range_convert(&rule->trange, &new_rule->trange, mod)) + if (mls_range_convert(&rule->trange, &new_rule->trange, mod, state)) goto cleanup; } return 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-24 16:10:15
|
Revision: 2074 http://svn.sourceforge.net/selinux/?rev=2074&view=rev Author: ssmalley Date: 2006-10-24 09:09:54 -0700 (Tue, 24 Oct 2006) Log Message: ----------- Tag for libsepol 1.15.1 Added Paths: ----------- tags/libsepol_1_15_1/libsepol/ Copied: tags/libsepol_1_15_1/libsepol (from rev 2073, trunk/libsepol) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-24 16:09:17
|
Revision: 2073 http://svn.sourceforge.net/selinux/?rev=2073&view=rev Author: ssmalley Date: 2006-10-24 09:09:06 -0700 (Tue, 24 Oct 2006) Log Message: ----------- Tag for libsepol 1.15.1 Added Paths: ----------- tags/libsepol_1_15_1/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-24 16:06:40
|
Revision: 2072 http://svn.sourceforge.net/selinux/?rev=2072&view=rev Author: ssmalley Date: 2006-10-24 09:05:25 -0700 (Tue, 24 Oct 2006) Log Message: ----------- Author: Darrel Goeddel Email: dgo...@tr... Subject: libsepol: fix version comparison when writing policies Date: Tue, 24 Oct 2006 09:44:34 -0500 Fix a version comparison that prohibits the "old style" range transition rules from being written for a version 5 base policy. Acked-by: Stephen Smalley <sd...@ty...> Acked-by: Joshua Brindle <jbr...@tr...> Modified Paths: -------------- trunk/libsepol/ChangeLog trunk/libsepol/VERSION trunk/libsepol/src/write.c Modified: trunk/libsepol/ChangeLog =================================================================== --- trunk/libsepol/ChangeLog 2006-10-19 15:07:18 UTC (rev 2071) +++ trunk/libsepol/ChangeLog 2006-10-24 16:05:25 UTC (rev 2072) @@ -1,3 +1,8 @@ +1.15.1 2006-10-24 + * Merged fix for version comparison that was preventing range + transition rules from being written for a version 5 base policy + from Darrel Goeddel. + 1.14 2006-10-17 * Updated version for release. Modified: trunk/libsepol/VERSION =================================================================== --- trunk/libsepol/VERSION 2006-10-19 15:07:18 UTC (rev 2071) +++ trunk/libsepol/VERSION 2006-10-24 16:05:25 UTC (rev 2072) @@ -1 +1 @@ -1.14 +1.15.1 Modified: trunk/libsepol/src/write.c =================================================================== --- trunk/libsepol/src/write.c 2006-10-19 15:07:18 UTC (rev 2071) +++ trunk/libsepol/src/write.c 2006-10-24 16:05:25 UTC (rev 2072) @@ -1641,7 +1641,7 @@ if ((p->policyvers >= POLICYDB_VERSION_MLS && p->policy_type == POLICY_KERN) || (p->policyvers >= MOD_POLICYDB_VERSION_MLS - && p->policyvers < MOD_POLICYDB_VERSION_MLS + && p->policyvers < MOD_POLICYDB_VERSION_RANGETRANS && p->policy_type == POLICY_BASE)) { if (range_write(p, fp)) { return POLICYDB_ERROR; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-19 15:07:32
|
Revision: 2071 http://svn.sourceforge.net/selinux/?rev=2071&view=rev Author: ssmalley Date: 2006-10-19 08:07:18 -0700 (Thu, 19 Oct 2006) Log Message: ----------- Author: Darrel Goeddel Email: dgo...@tr... Subject: libselinux flask definition update for context class Date: Tue, 17 Oct 2006 10:59:52 -0500 Update SELinux flask definition to include the context security class. This also adds the "process setsockcreate" and "association polmatch" string definitions that have been missing. Signed-off-by: Darrel Goeddel <dgo...@tr...> Acked-by: Stephen Smalley <sd...@ty...> Modified Paths: -------------- trunk/libselinux/ChangeLog trunk/libselinux/VERSION trunk/libselinux/include/selinux/av_permissions.h trunk/libselinux/include/selinux/flask.h trunk/libselinux/src/av_perm_to_string.h trunk/libselinux/src/class_to_string.h Modified: trunk/libselinux/ChangeLog =================================================================== --- trunk/libselinux/ChangeLog 2006-10-17 17:26:56 UTC (rev 2070) +++ trunk/libselinux/ChangeLog 2006-10-19 15:07:18 UTC (rev 2071) @@ -1,3 +1,8 @@ +1.33.1 2006-10-19 + * Merged updated flask definitions from Darrel Goeddel. + This adds the context security class, and also adds + the string definitions for setsockcreate and polmatch. + 1.32 2006-10-17 * Updated version for release. Modified: trunk/libselinux/VERSION =================================================================== --- trunk/libselinux/VERSION 2006-10-17 17:26:56 UTC (rev 2070) +++ trunk/libselinux/VERSION 2006-10-19 15:07:18 UTC (rev 2071) @@ -1 +1 @@ -1.32 +1.33.1 Modified: trunk/libselinux/include/selinux/av_permissions.h =================================================================== --- trunk/libselinux/include/selinux/av_permissions.h 2006-10-17 17:26:56 UTC (rev 2070) +++ trunk/libselinux/include/selinux/av_permissions.h 2006-10-19 15:07:18 UTC (rev 2071) @@ -16,7 +16,6 @@ #define COMMON_FILE__SWAPON 0x00004000UL #define COMMON_FILE__QUOTAON 0x00008000UL #define COMMON_FILE__MOUNTON 0x00010000UL - #define COMMON_SOCKET__IOCTL 0x00000001UL #define COMMON_SOCKET__READ 0x00000002UL #define COMMON_SOCKET__WRITE 0x00000004UL @@ -39,7 +38,6 @@ #define COMMON_SOCKET__RECV_MSG 0x00080000UL #define COMMON_SOCKET__SEND_MSG 0x00100000UL #define COMMON_SOCKET__NAME_BIND 0x00200000UL - #define COMMON_IPC__CREATE 0x00000001UL #define COMMON_IPC__DESTROY 0x00000002UL #define COMMON_IPC__GETATTR 0x00000004UL @@ -49,7 +47,6 @@ #define COMMON_IPC__ASSOCIATE 0x00000040UL #define COMMON_IPC__UNIX_READ 0x00000080UL #define COMMON_IPC__UNIX_WRITE 0x00000100UL - #define FILESYSTEM__MOUNT 0x00000001UL #define FILESYSTEM__REMOUNT 0x00000002UL #define FILESYSTEM__UNMOUNT 0x00000004UL @@ -60,7 +57,6 @@ #define FILESYSTEM__ASSOCIATE 0x00000080UL #define FILESYSTEM__QUOTAMOD 0x00000100UL #define FILESYSTEM__QUOTAGET 0x00000200UL - #define DIR__IOCTL 0x00000001UL #define DIR__READ 0x00000002UL #define DIR__WRITE 0x00000004UL @@ -78,13 +74,11 @@ #define DIR__SWAPON 0x00004000UL #define DIR__QUOTAON 0x00008000UL #define DIR__MOUNTON 0x00010000UL - #define DIR__ADD_NAME 0x00020000UL #define DIR__REMOVE_NAME 0x00040000UL #define DIR__REPARENT 0x00080000UL #define DIR__SEARCH 0x00100000UL #define DIR__RMDIR 0x00200000UL - #define FILE__IOCTL 0x00000001UL #define FILE__READ 0x00000002UL #define FILE__WRITE 0x00000004UL @@ -102,11 +96,9 @@ #define FILE__SWAPON 0x00004000UL #define FILE__QUOTAON 0x00008000UL #define FILE__MOUNTON 0x00010000UL - #define FILE__EXECUTE_NO_TRANS 0x00020000UL #define FILE__ENTRYPOINT 0x00040000UL #define FILE__EXECMOD 0x00080000UL - #define LNK_FILE__IOCTL 0x00000001UL #define LNK_FILE__READ 0x00000002UL #define LNK_FILE__WRITE 0x00000004UL @@ -124,7 +116,6 @@ #define LNK_FILE__SWAPON 0x00004000UL #define LNK_FILE__QUOTAON 0x00008000UL #define LNK_FILE__MOUNTON 0x00010000UL - #define CHR_FILE__IOCTL 0x00000001UL #define CHR_FILE__READ 0x00000002UL #define CHR_FILE__WRITE 0x00000004UL @@ -142,11 +133,9 @@ #define CHR_FILE__SWAPON 0x00004000UL #define CHR_FILE__QUOTAON 0x00008000UL #define CHR_FILE__MOUNTON 0x00010000UL - #define CHR_FILE__EXECUTE_NO_TRANS 0x00020000UL #define CHR_FILE__ENTRYPOINT 0x00040000UL #define CHR_FILE__EXECMOD 0x00080000UL - #define BLK_FILE__IOCTL 0x00000001UL #define BLK_FILE__READ 0x00000002UL #define BLK_FILE__WRITE 0x00000004UL @@ -164,7 +153,6 @@ #define BLK_FILE__SWAPON 0x00004000UL #define BLK_FILE__QUOTAON 0x00008000UL #define BLK_FILE__MOUNTON 0x00010000UL - #define SOCK_FILE__IOCTL 0x00000001UL #define SOCK_FILE__READ 0x00000002UL #define SOCK_FILE__WRITE 0x00000004UL @@ -182,7 +170,6 @@ #define SOCK_FILE__SWAPON 0x00004000UL #define SOCK_FILE__QUOTAON 0x00008000UL #define SOCK_FILE__MOUNTON 0x00010000UL - #define FIFO_FILE__IOCTL 0x00000001UL #define FIFO_FILE__READ 0x00000002UL #define FIFO_FILE__WRITE 0x00000004UL @@ -200,9 +187,7 @@ #define FIFO_FILE__SWAPON 0x00004000UL #define FIFO_FILE__QUOTAON 0x00008000UL #define FIFO_FILE__MOUNTON 0x00010000UL - #define FD__USE 0x00000001UL - #define SOCKET__IOCTL 0x00000001UL #define SOCKET__READ 0x00000002UL #define SOCKET__WRITE 0x00000004UL @@ -225,7 +210,6 @@ #define SOCKET__RECV_MSG 0x00080000UL #define SOCKET__SEND_MSG 0x00100000UL #define SOCKET__NAME_BIND 0x00200000UL - #define TCP_SOCKET__IOCTL 0x00000001UL #define TCP_SOCKET__READ 0x00000002UL #define TCP_SOCKET__WRITE 0x00000004UL @@ -248,13 +232,11 @@ #define TCP_SOCKET__RECV_MSG 0x00080000UL #define TCP_SOCKET__SEND_MSG 0x00100000UL #define TCP_SOCKET__NAME_BIND 0x00200000UL - #define TCP_SOCKET__CONNECTTO 0x00400000UL #define TCP_SOCKET__NEWCONN 0x00800000UL #define TCP_SOCKET__ACCEPTFROM 0x01000000UL #define TCP_SOCKET__NODE_BIND 0x02000000UL #define TCP_SOCKET__NAME_CONNECT 0x04000000UL - #define UDP_SOCKET__IOCTL 0x00000001UL #define UDP_SOCKET__READ 0x00000002UL #define UDP_SOCKET__WRITE 0x00000004UL @@ -277,9 +259,7 @@ #define UDP_SOCKET__RECV_MSG 0x00080000UL #define UDP_SOCKET__SEND_MSG 0x00100000UL #define UDP_SOCKET__NAME_BIND 0x00200000UL - #define UDP_SOCKET__NODE_BIND 0x00400000UL - #define RAWIP_SOCKET__IOCTL 0x00000001UL #define RAWIP_SOCKET__READ 0x00000002UL #define RAWIP_SOCKET__WRITE 0x00000004UL @@ -302,9 +282,7 @@ #define RAWIP_SOCKET__RECV_MSG 0x00080000UL #define RAWIP_SOCKET__SEND_MSG 0x00100000UL #define RAWIP_SOCKET__NAME_BIND 0x00200000UL - #define RAWIP_SOCKET__NODE_BIND 0x00400000UL - #define NODE__TCP_RECV 0x00000001UL #define NODE__TCP_SEND 0x00000002UL #define NODE__UDP_RECV 0x00000004UL @@ -312,14 +290,12 @@ #define NODE__RAWIP_RECV 0x00000010UL #define NODE__RAWIP_SEND 0x00000020UL #define NODE__ENFORCE_DEST 0x00000040UL - #define NETIF__TCP_RECV 0x00000001UL #define NETIF__TCP_SEND 0x00000002UL #define NETIF__UDP_RECV 0x00000004UL #define NETIF__UDP_SEND 0x00000008UL #define NETIF__RAWIP_RECV 0x00000010UL #define NETIF__RAWIP_SEND 0x00000020UL - #define NETLINK_SOCKET__IOCTL 0x00000001UL #define NETLINK_SOCKET__READ 0x00000002UL #define NETLINK_SOCKET__WRITE 0x00000004UL @@ -342,7 +318,6 @@ #define NETLINK_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_SOCKET__NAME_BIND 0x00200000UL - #define PACKET_SOCKET__IOCTL 0x00000001UL #define PACKET_SOCKET__READ 0x00000002UL #define PACKET_SOCKET__WRITE 0x00000004UL @@ -365,7 +340,6 @@ #define PACKET_SOCKET__RECV_MSG 0x00080000UL #define PACKET_SOCKET__SEND_MSG 0x00100000UL #define PACKET_SOCKET__NAME_BIND 0x00200000UL - #define KEY_SOCKET__IOCTL 0x00000001UL #define KEY_SOCKET__READ 0x00000002UL #define KEY_SOCKET__WRITE 0x00000004UL @@ -388,7 +362,6 @@ #define KEY_SOCKET__RECV_MSG 0x00080000UL #define KEY_SOCKET__SEND_MSG 0x00100000UL #define KEY_SOCKET__NAME_BIND 0x00200000UL - #define UNIX_STREAM_SOCKET__IOCTL 0x00000001UL #define UNIX_STREAM_SOCKET__READ 0x00000002UL #define UNIX_STREAM_SOCKET__WRITE 0x00000004UL @@ -411,11 +384,9 @@ #define UNIX_STREAM_SOCKET__RECV_MSG 0x00080000UL #define UNIX_STREAM_SOCKET__SEND_MSG 0x00100000UL #define UNIX_STREAM_SOCKET__NAME_BIND 0x00200000UL - #define UNIX_STREAM_SOCKET__CONNECTTO 0x00400000UL #define UNIX_STREAM_SOCKET__NEWCONN 0x00800000UL #define UNIX_STREAM_SOCKET__ACCEPTFROM 0x01000000UL - #define UNIX_DGRAM_SOCKET__IOCTL 0x00000001UL #define UNIX_DGRAM_SOCKET__READ 0x00000002UL #define UNIX_DGRAM_SOCKET__WRITE 0x00000004UL @@ -438,7 +409,6 @@ #define UNIX_DGRAM_SOCKET__RECV_MSG 0x00080000UL #define UNIX_DGRAM_SOCKET__SEND_MSG 0x00100000UL #define UNIX_DGRAM_SOCKET__NAME_BIND 0x00200000UL - #define PROCESS__FORK 0x00000001UL #define PROCESS__TRANSITION 0x00000002UL #define PROCESS__SIGCHLD 0x00000004UL @@ -469,7 +439,6 @@ #define PROCESS__EXECHEAP 0x08000000UL #define PROCESS__SETKEYCREATE 0x10000000UL #define PROCESS__SETSOCKCREATE 0x20000000UL - #define IPC__CREATE 0x00000001UL #define IPC__DESTROY 0x00000002UL #define IPC__GETATTR 0x00000004UL @@ -479,7 +448,6 @@ #define IPC__ASSOCIATE 0x00000040UL #define IPC__UNIX_READ 0x00000080UL #define IPC__UNIX_WRITE 0x00000100UL - #define SEM__CREATE 0x00000001UL #define SEM__DESTROY 0x00000002UL #define SEM__GETATTR 0x00000004UL @@ -489,7 +457,6 @@ #define SEM__ASSOCIATE 0x00000040UL #define SEM__UNIX_READ 0x00000080UL #define SEM__UNIX_WRITE 0x00000100UL - #define MSGQ__CREATE 0x00000001UL #define MSGQ__DESTROY 0x00000002UL #define MSGQ__GETATTR 0x00000004UL @@ -499,12 +466,9 @@ #define MSGQ__ASSOCIATE 0x00000040UL #define MSGQ__UNIX_READ 0x00000080UL #define MSGQ__UNIX_WRITE 0x00000100UL - #define MSGQ__ENQUEUE 0x00000200UL - #define MSG__SEND 0x00000001UL #define MSG__RECEIVE 0x00000002UL - #define SHM__CREATE 0x00000001UL #define SHM__DESTROY 0x00000002UL #define SHM__GETATTR 0x00000004UL @@ -514,9 +478,7 @@ #define SHM__ASSOCIATE 0x00000040UL #define SHM__UNIX_READ 0x00000080UL #define SHM__UNIX_WRITE 0x00000100UL - #define SHM__LOCK 0x00000200UL - #define SECURITY__COMPUTE_AV 0x00000001UL #define SECURITY__COMPUTE_CREATE 0x00000002UL #define SECURITY__COMPUTE_MEMBER 0x00000004UL @@ -528,12 +490,10 @@ #define SECURITY__SETBOOL 0x00000100UL #define SECURITY__SETSECPARAM 0x00000200UL #define SECURITY__SETCHECKREQPROT 0x00000400UL - #define SYSTEM__IPC_INFO 0x00000001UL #define SYSTEM__SYSLOG_READ 0x00000002UL #define SYSTEM__SYSLOG_MOD 0x00000004UL #define SYSTEM__SYSLOG_CONSOLE 0x00000008UL - #define CAPABILITY__CHOWN 0x00000001UL #define CAPABILITY__DAC_OVERRIDE 0x00000002UL #define CAPABILITY__DAC_READ_SEARCH 0x00000004UL @@ -565,24 +525,20 @@ #define CAPABILITY__LEASE 0x10000000UL #define CAPABILITY__AUDIT_WRITE 0x20000000UL #define CAPABILITY__AUDIT_CONTROL 0x40000000UL - #define PASSWD__PASSWD 0x00000001UL #define PASSWD__CHFN 0x00000002UL #define PASSWD__CHSH 0x00000004UL #define PASSWD__ROOTOK 0x00000008UL #define PASSWD__CRONTAB 0x00000010UL - #define DRAWABLE__CREATE 0x00000001UL #define DRAWABLE__DESTROY 0x00000002UL #define DRAWABLE__DRAW 0x00000004UL #define DRAWABLE__COPY 0x00000008UL #define DRAWABLE__GETATTR 0x00000010UL - #define GC__CREATE 0x00000001UL #define GC__FREE 0x00000002UL #define GC__GETATTR 0x00000004UL #define GC__SETATTR 0x00000008UL - #define WINDOW__ADDCHILD 0x00000001UL #define WINDOW__CREATE 0x00000002UL #define WINDOW__DESTROY 0x00000004UL @@ -609,12 +565,10 @@ #define WINDOW__WINDOWCHANGEREQUEST 0x00800000UL #define WINDOW__SERVERCHANGEEVENT 0x01000000UL #define WINDOW__EXTENSIONEVENT 0x02000000UL - #define FONT__LOAD 0x00000001UL #define FONT__FREE 0x00000002UL #define FONT__GETATTR 0x00000004UL #define FONT__USE 0x00000008UL - #define COLORMAP__CREATE 0x00000001UL #define COLORMAP__FREE 0x00000002UL #define COLORMAP__INSTALL 0x00000004UL @@ -624,20 +578,16 @@ #define COLORMAP__STORE 0x00000040UL #define COLORMAP__GETATTR 0x00000080UL #define COLORMAP__SETATTR 0x00000100UL - #define PROPERTY__CREATE 0x00000001UL #define PROPERTY__FREE 0x00000002UL #define PROPERTY__READ 0x00000004UL #define PROPERTY__WRITE 0x00000008UL - #define CURSOR__CREATE 0x00000001UL #define CURSOR__CREATEGLYPH 0x00000002UL #define CURSOR__FREE 0x00000004UL #define CURSOR__ASSIGN 0x00000008UL #define CURSOR__SETATTR 0x00000010UL - #define XCLIENT__KILL 0x00000001UL - #define XINPUT__LOOKUP 0x00000001UL #define XINPUT__GETATTR 0x00000002UL #define XINPUT__SETATTR 0x00000004UL @@ -649,7 +599,6 @@ #define XINPUT__BELL 0x00000100UL #define XINPUT__MOUSEMOTION 0x00000200UL #define XINPUT__RELABELINPUT 0x00000400UL - #define XSERVER__SCREENSAVER 0x00000001UL #define XSERVER__GETHOSTLIST 0x00000002UL #define XSERVER__SETHOSTLIST 0x00000004UL @@ -658,17 +607,14 @@ #define XSERVER__GETATTR 0x00000020UL #define XSERVER__GRAB 0x00000040UL #define XSERVER__UNGRAB 0x00000080UL - #define XEXTENSION__QUERY 0x00000001UL #define XEXTENSION__USE 0x00000002UL - #define PAX__PAGEEXEC 0x00000001UL #define PAX__EMUTRAMP 0x00000002UL #define PAX__MPROTECT 0x00000004UL #define PAX__RANDMMAP 0x00000008UL #define PAX__RANDEXEC 0x00000010UL #define PAX__SEGMEXEC 0x00000020UL - #define NETLINK_ROUTE_SOCKET__IOCTL 0x00000001UL #define NETLINK_ROUTE_SOCKET__READ 0x00000002UL #define NETLINK_ROUTE_SOCKET__WRITE 0x00000004UL @@ -691,10 +637,8 @@ #define NETLINK_ROUTE_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_ROUTE_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_ROUTE_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_ROUTE_SOCKET__NLMSG_READ 0x00400000UL #define NETLINK_ROUTE_SOCKET__NLMSG_WRITE 0x00800000UL - #define NETLINK_FIREWALL_SOCKET__IOCTL 0x00000001UL #define NETLINK_FIREWALL_SOCKET__READ 0x00000002UL #define NETLINK_FIREWALL_SOCKET__WRITE 0x00000004UL @@ -717,10 +661,8 @@ #define NETLINK_FIREWALL_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_FIREWALL_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_FIREWALL_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_FIREWALL_SOCKET__NLMSG_READ 0x00400000UL #define NETLINK_FIREWALL_SOCKET__NLMSG_WRITE 0x00800000UL - #define NETLINK_TCPDIAG_SOCKET__IOCTL 0x00000001UL #define NETLINK_TCPDIAG_SOCKET__READ 0x00000002UL #define NETLINK_TCPDIAG_SOCKET__WRITE 0x00000004UL @@ -743,10 +685,8 @@ #define NETLINK_TCPDIAG_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_TCPDIAG_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_TCPDIAG_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_TCPDIAG_SOCKET__NLMSG_READ 0x00400000UL #define NETLINK_TCPDIAG_SOCKET__NLMSG_WRITE 0x00800000UL - #define NETLINK_NFLOG_SOCKET__IOCTL 0x00000001UL #define NETLINK_NFLOG_SOCKET__READ 0x00000002UL #define NETLINK_NFLOG_SOCKET__WRITE 0x00000004UL @@ -769,7 +709,6 @@ #define NETLINK_NFLOG_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_NFLOG_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_NFLOG_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_XFRM_SOCKET__IOCTL 0x00000001UL #define NETLINK_XFRM_SOCKET__READ 0x00000002UL #define NETLINK_XFRM_SOCKET__WRITE 0x00000004UL @@ -792,10 +731,8 @@ #define NETLINK_XFRM_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_XFRM_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_XFRM_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_XFRM_SOCKET__NLMSG_READ 0x00400000UL #define NETLINK_XFRM_SOCKET__NLMSG_WRITE 0x00800000UL - #define NETLINK_SELINUX_SOCKET__IOCTL 0x00000001UL #define NETLINK_SELINUX_SOCKET__READ 0x00000002UL #define NETLINK_SELINUX_SOCKET__WRITE 0x00000004UL @@ -818,7 +755,6 @@ #define NETLINK_SELINUX_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_SELINUX_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_SELINUX_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_AUDIT_SOCKET__IOCTL 0x00000001UL #define NETLINK_AUDIT_SOCKET__READ 0x00000002UL #define NETLINK_AUDIT_SOCKET__WRITE 0x00000004UL @@ -841,12 +777,10 @@ #define NETLINK_AUDIT_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_AUDIT_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_AUDIT_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_AUDIT_SOCKET__NLMSG_READ 0x00400000UL #define NETLINK_AUDIT_SOCKET__NLMSG_WRITE 0x00800000UL #define NETLINK_AUDIT_SOCKET__NLMSG_RELAY 0x01000000UL #define NETLINK_AUDIT_SOCKET__NLMSG_READPRIV 0x02000000UL - #define NETLINK_IP6FW_SOCKET__IOCTL 0x00000001UL #define NETLINK_IP6FW_SOCKET__READ 0x00000002UL #define NETLINK_IP6FW_SOCKET__WRITE 0x00000004UL @@ -869,10 +803,8 @@ #define NETLINK_IP6FW_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_IP6FW_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_IP6FW_SOCKET__NAME_BIND 0x00200000UL - #define NETLINK_IP6FW_SOCKET__NLMSG_READ 0x00400000UL #define NETLINK_IP6FW_SOCKET__NLMSG_WRITE 0x00800000UL - #define NETLINK_DNRT_SOCKET__IOCTL 0x00000001UL #define NETLINK_DNRT_SOCKET__READ 0x00000002UL #define NETLINK_DNRT_SOCKET__WRITE 0x00000004UL @@ -895,10 +827,8 @@ #define NETLINK_DNRT_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_DNRT_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_DNRT_SOCKET__NAME_BIND 0x00200000UL - #define DBUS__ACQUIRE_SVC 0x00000001UL #define DBUS__SEND_MSG 0x00000002UL - #define NSCD__GETPWD 0x00000001UL #define NSCD__GETGRP 0x00000002UL #define NSCD__GETHOST 0x00000004UL @@ -907,12 +837,10 @@ #define NSCD__SHMEMPWD 0x00000020UL #define NSCD__SHMEMGRP 0x00000040UL #define NSCD__SHMEMHOST 0x00000080UL - #define ASSOCIATION__SENDTO 0x00000001UL #define ASSOCIATION__RECVFROM 0x00000002UL #define ASSOCIATION__SETCONTEXT 0x00000004UL #define ASSOCIATION__POLMATCH 0x00000008UL - #define NETLINK_KOBJECT_UEVENT_SOCKET__IOCTL 0x00000001UL #define NETLINK_KOBJECT_UEVENT_SOCKET__READ 0x00000002UL #define NETLINK_KOBJECT_UEVENT_SOCKET__WRITE 0x00000004UL @@ -935,7 +863,6 @@ #define NETLINK_KOBJECT_UEVENT_SOCKET__RECV_MSG 0x00080000UL #define NETLINK_KOBJECT_UEVENT_SOCKET__SEND_MSG 0x00100000UL #define NETLINK_KOBJECT_UEVENT_SOCKET__NAME_BIND 0x00200000UL - #define APPLETALK_SOCKET__IOCTL 0x00000001UL #define APPLETALK_SOCKET__READ 0x00000002UL #define APPLETALK_SOCKET__WRITE 0x00000004UL @@ -958,11 +885,9 @@ #define APPLETALK_SOCKET__RECV_MSG 0x00080000UL #define APPLETALK_SOCKET__SEND_MSG 0x00100000UL #define APPLETALK_SOCKET__NAME_BIND 0x00200000UL - #define PACKET__SEND 0x00000001UL #define PACKET__RECV 0x00000002UL #define PACKET__RELABELTO 0x00000004UL - #define KEY__VIEW 0x00000001UL #define KEY__READ 0x00000002UL #define KEY__WRITE 0x00000004UL @@ -970,3 +895,4 @@ #define KEY__LINK 0x00000010UL #define KEY__SETATTR 0x00000020UL #define KEY__CREATE 0x00000040UL +#define CONTEXT__TRANSLATE 0x00000001UL Modified: trunk/libselinux/include/selinux/flask.h =================================================================== --- trunk/libselinux/include/selinux/flask.h 2006-10-17 17:26:56 UTC (rev 2070) +++ trunk/libselinux/include/selinux/flask.h 2006-10-19 15:07:18 UTC (rev 2071) @@ -63,6 +63,7 @@ #define SECCLASS_APPLETALK_SOCKET 56 #define SECCLASS_PACKET 57 #define SECCLASS_KEY 58 +#define SECCLASS_CONTEXT 59 /* * Security identifier indices for initial entities Modified: trunk/libselinux/src/av_perm_to_string.h =================================================================== --- trunk/libselinux/src/av_perm_to_string.h 2006-10-17 17:26:56 UTC (rev 2070) +++ trunk/libselinux/src/av_perm_to_string.h 2006-10-19 15:07:18 UTC (rev 2071) @@ -73,6 +73,7 @@ S_(SECCLASS_PROCESS, PROCESS__EXECSTACK, "execstack") S_(SECCLASS_PROCESS, PROCESS__EXECHEAP, "execheap") S_(SECCLASS_PROCESS, PROCESS__SETKEYCREATE, "setkeycreate") + S_(SECCLASS_PROCESS, PROCESS__SETSOCKCREATE, "setsockcreate") S_(SECCLASS_MSGQ, MSGQ__ENQUEUE, "enqueue") S_(SECCLASS_MSG, MSG__SEND, "send") S_(SECCLASS_MSG, MSG__RECEIVE, "receive") @@ -253,6 +254,7 @@ S_(SECCLASS_ASSOCIATION, ASSOCIATION__SENDTO, "sendto") S_(SECCLASS_ASSOCIATION, ASSOCIATION__RECVFROM, "recvfrom") S_(SECCLASS_ASSOCIATION, ASSOCIATION__SETCONTEXT, "setcontext") + S_(SECCLASS_ASSOCIATION, ASSOCIATION__POLMATCH, "polmatch") S_(SECCLASS_PACKET, PACKET__SEND, "send") S_(SECCLASS_PACKET, PACKET__RECV, "recv") S_(SECCLASS_PACKET, PACKET__RELABELTO, "relabelto") @@ -263,3 +265,4 @@ S_(SECCLASS_KEY, KEY__LINK, "link") S_(SECCLASS_KEY, KEY__SETATTR, "setattr") S_(SECCLASS_KEY, KEY__CREATE, "create") + S_(SECCLASS_CONTEXT, CONTEXT__TRANSLATE, "translate") Modified: trunk/libselinux/src/class_to_string.h =================================================================== --- trunk/libselinux/src/class_to_string.h 2006-10-17 17:26:56 UTC (rev 2070) +++ trunk/libselinux/src/class_to_string.h 2006-10-19 15:07:18 UTC (rev 2071) @@ -61,3 +61,4 @@ S_("appletalk_socket") S_("packet") S_("key") + S_("context") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:27:14
|
Revision: 2070 http://svn.sourceforge.net/selinux/?rev=2070&view=rev Author: ssmalley Date: 2006-10-17 10:26:56 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Tag Added Paths: ----------- tags/libsemanage_1_8/libsemanage/ Copied: tags/libsemanage_1_8/libsemanage (from rev 2069, trunk/libsemanage) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:26:10
|
Revision: 2069 http://svn.sourceforge.net/selinux/?rev=2069&view=rev Author: ssmalley Date: 2006-10-17 10:25:54 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Tag Added Paths: ----------- tags/libsepol_1_14/libsepol/ Copied: tags/libsepol_1_14/libsepol (from rev 2068, trunk/libsepol) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:25:13
|
Revision: 2068 http://svn.sourceforge.net/selinux/?rev=2068&view=rev Author: ssmalley Date: 2006-10-17 10:24:52 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Tag Added Paths: ----------- tags/libselinux_1_32/libselinux/ Copied: tags/libselinux_1_32/libselinux (from rev 2067, trunk/libselinux) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:23:14
|
Revision: 2067 http://svn.sourceforge.net/selinux/?rev=2067&view=rev Author: ssmalley Date: 2006-10-17 10:22:55 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Tag Added Paths: ----------- tags/checkpolicy_1_32/checkpolicy/ Copied: tags/checkpolicy_1_32/checkpolicy (from rev 2066, trunk/checkpolicy) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:22:17
|
Revision: 2066 http://svn.sourceforge.net/selinux/?rev=2066&view=rev Author: ssmalley Date: 2006-10-17 10:22:01 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Tag Added Paths: ----------- tags/policycoreutils_1_32/policycoreutils/ Copied: tags/policycoreutils_1_32/policycoreutils (from rev 2065, trunk/policycoreutils) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:19:52
|
Revision: 2065 http://svn.sourceforge.net/selinux/?rev=2065&view=rev Author: ssmalley Date: 2006-10-17 10:19:43 -0700 (Tue, 17 Oct 2006) Log Message: ----------- tag for policycoreutils 1.32 Added Paths: ----------- tags/policycoreutils_1_32/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:19:19
|
Revision: 2064 http://svn.sourceforge.net/selinux/?rev=2064&view=rev Author: ssmalley Date: 2006-10-17 10:19:06 -0700 (Tue, 17 Oct 2006) Log Message: ----------- tag for libsepol 1.14 Added Paths: ----------- tags/libsepol_1_14/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:18:40
|
Revision: 2063 http://svn.sourceforge.net/selinux/?rev=2063&view=rev Author: ssmalley Date: 2006-10-17 10:18:33 -0700 (Tue, 17 Oct 2006) Log Message: ----------- tag for libsemanage 1.8 Added Paths: ----------- tags/libsemanage_1_8/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:17:03
|
Revision: 2062 http://svn.sourceforge.net/selinux/?rev=2062&view=rev Author: ssmalley Date: 2006-10-17 10:16:52 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Create tag for libselinux 1.32. Added Paths: ----------- tags/libselinux_1_32/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 17:16:34
|
Revision: 2061 http://svn.sourceforge.net/selinux/?rev=2061&view=rev Author: ssmalley Date: 2006-10-17 10:16:21 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Create tag for checkpolicy 1.32. Added Paths: ----------- tags/checkpolicy_1_32/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 15:59:49
|
Revision: 2060 http://svn.sourceforge.net/selinux/?rev=2060&view=rev Author: ssmalley Date: 2006-10-17 08:59:33 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Bump versions to next even for stable release. Modified Paths: -------------- trunk/checkpolicy/ChangeLog trunk/checkpolicy/VERSION trunk/libselinux/ChangeLog trunk/libselinux/VERSION trunk/libsemanage/ChangeLog trunk/libsemanage/VERSION trunk/libsepol/ChangeLog trunk/libsepol/VERSION trunk/policycoreutils/ChangeLog trunk/policycoreutils/VERSION Modified: trunk/checkpolicy/ChangeLog =================================================================== --- trunk/checkpolicy/ChangeLog 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/checkpolicy/ChangeLog 2006-10-17 15:59:33 UTC (rev 2060) @@ -1,3 +1,6 @@ +1.32 2006-10-17 + * Updated version for release. + 1.30.12 2006-09-28 * Merged user and range_transition support for modules from Darrel Goeddel Modified: trunk/checkpolicy/VERSION =================================================================== --- trunk/checkpolicy/VERSION 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/checkpolicy/VERSION 2006-10-17 15:59:33 UTC (rev 2060) @@ -1 +1 @@ -1.30.12 +1.32 Modified: trunk/libselinux/ChangeLog =================================================================== --- trunk/libselinux/ChangeLog 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/libselinux/ChangeLog 2006-10-17 15:59:33 UTC (rev 2060) @@ -1,3 +1,6 @@ +1.32 2006-10-17 + * Updated version for release. + 1.30.30 2006-10-05 * Merged patch from Darrel Goeddel to always use untranslated contexts in the userspace AVC. Modified: trunk/libselinux/VERSION =================================================================== --- trunk/libselinux/VERSION 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/libselinux/VERSION 2006-10-17 15:59:33 UTC (rev 2060) @@ -1 +1 @@ -1.30.30 +1.32 Modified: trunk/libsemanage/ChangeLog =================================================================== --- trunk/libsemanage/ChangeLog 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/libsemanage/ChangeLog 2006-10-17 15:59:33 UTC (rev 2060) @@ -1,3 +1,6 @@ +1.8 2006-10-17 + * Updated version for release. + 1.6.17 2006-09-29 * Merged patch to skip reload if no active store exists and the store path doesn't match the active store path from Dan Walsh. Modified: trunk/libsemanage/VERSION =================================================================== --- trunk/libsemanage/VERSION 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/libsemanage/VERSION 2006-10-17 15:59:33 UTC (rev 2060) @@ -1 +1 @@ -1.6.17 +1.8 Modified: trunk/libsepol/ChangeLog =================================================================== --- trunk/libsepol/ChangeLog 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/libsepol/ChangeLog 2006-10-17 15:59:33 UTC (rev 2060) @@ -1,3 +1,6 @@ +1.14 2006-10-17 + * Updated version for release. + 1.12.28 2006-09-28 * Build libsepol's static object files with -fpic Modified: trunk/libsepol/VERSION =================================================================== --- trunk/libsepol/VERSION 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/libsepol/VERSION 2006-10-17 15:59:33 UTC (rev 2060) @@ -1 +1 @@ -1.12.28 +1.14 Modified: trunk/policycoreutils/ChangeLog =================================================================== --- trunk/policycoreutils/ChangeLog 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/policycoreutils/ChangeLog 2006-10-17 15:59:33 UTC (rev 2060) @@ -1,3 +1,6 @@ +1.32 2006-10-17 + * Updated version for release. + 1.30.31 2006-10-17 * Merged audit2allow -l fix from Yuichi Nakamura. * Merged restorecon -i and -o - support from Karl MacMillan. Modified: trunk/policycoreutils/VERSION =================================================================== --- trunk/policycoreutils/VERSION 2006-10-17 15:44:41 UTC (rev 2059) +++ trunk/policycoreutils/VERSION 2006-10-17 15:59:33 UTC (rev 2060) @@ -1 +1 @@ -1.30.31 +1.32 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 15:44:49
|
Revision: 2059 http://svn.sourceforge.net/selinux/?rev=2059&view=rev Author: ssmalley Date: 2006-10-17 08:44:41 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Translation updates Modified Paths: -------------- trunk/policycoreutils/po/bn_IN.po trunk/policycoreutils/po/ca.po trunk/policycoreutils/po/de.po trunk/policycoreutils/po/el.po trunk/policycoreutils/po/hr.po trunk/policycoreutils/po/hu.po trunk/policycoreutils/po/ms.po trunk/policycoreutils/po/ru.po trunk/policycoreutils/po/sk.po trunk/policycoreutils/po/sv.po trunk/policycoreutils/po/zh_TW.po Modified: trunk/policycoreutils/po/bn_IN.po =================================================================== --- trunk/policycoreutils/po/bn_IN.po 2006-10-17 15:12:10 UTC (rev 2058) +++ trunk/policycoreutils/po/bn_IN.po 2006-10-17 15:44:41 UTC (rev 2059) @@ -1,3 +1,4 @@ +# translation of bn_IN.po to Bengali India # translation of bn_IN.po to Bangla (INDIA) # translation of bn_IN.po to Bangla (INDIA) # translation of bn_IN.po to Bangla (INDIA) @@ -36,14 +37,14 @@ "Project-Id-Version: bn_IN\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-06-29 15:53-0400\n" -"PO-Revision-Date: 2006-05-09 18:04+0530\n" +"PO-Revision-Date: 2006-09-20 16:53+0530\n" "Last-Translator: Runa Bhattacharjee <ru...@re...>\n" -"Language-Team: Bangla (INDIA) <red...@be...>\n" +"Language-Team: Bengali India\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.9.1\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n\n" #: ../load_policy/load_policy.c:22 #, c-format @@ -182,7 +183,7 @@ #: ../newrole/newrole.c:657 #, c-format msgid "failed to set new role %s\n" -msgstr "new role %s স্থাপন করতে ব্যর্থ\n" +msgstr "নতুন ভূমিকা %s স্থাপন করতে ব্যর্থ\n" #: ../newrole/newrole.c:671 #, c-format @@ -202,7 +203,7 @@ #: ../newrole/newrole.c:708 #, c-format msgid "failed to convert new context to string\n" -msgstr "new context'কে string হিসাবে রূপান্তর করা যায়নি\n" +msgstr "নতুন context'কে string হিসাবে রূপান্তর করা যায়নি\n" #: ../newrole/newrole.c:717 #, c-format @@ -449,7 +450,7 @@ #: ../semanage/seobject.py:177 #, python-format msgid "%s already defined in translations" -msgstr "অনুবাদের মধ্যে %s বর্তমান ব্যাখ্যা করা হয়\xE0\xA7\x87ছে" +msgstr "অনুবাদের মধ্যে %s বর্তমানে ব্যাখ্যা করা হয়েছে" #: ../semanage/seobject.py:189 #, python-format @@ -918,8 +919,7 @@ #: ../semanage/seobject.py:1131 #, python-format msgid "File context for %s is defined in policy, cannot be deleted" -msgstr "" -"%s'র ফাইল context নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে তা অপসারণ করা সম্ভব নয়" +msgstr "%s'র ফাইল context নিয়মনীতির মধ্যে নির্ধারিত হওয়ার ফলে তা অপসারণ করা সম্ভব নয়" #: ../semanage/seobject.py:1139 ../semanage/seobject.py:1143 #, python-format @@ -1004,4 +1004,5 @@ #: ../audit2allow/audit2allow:203 #, c-format msgid "Options Error: %s " -msgstr "বিকল্প সংক্রান্ত ত্রুটি: %s " +msgstr "বিকল্প সংক\xE0\xA7\x8Dরান্ত ত্রুটি: %s" + Modified: trunk/policycoreutils/po/ca.po =================================================================== --- trunk/policycoreutils/po/ca.po 2006-10-17 15:12:10 UTC (rev 2058) +++ trunk/policycoreutils/po/ca.po 2006-10-17 15:44:41 UTC (rev 2059) @@ -4,6 +4,7 @@ # package. # # Josep Puigdemont Casamajó <jos...@gm...>, 2006. +# Xavier Conde Rueda <xav...@gm...>, 2006 # # This file is translated according to the glossary and style guide of # Softcatalà. If you plan to modify this file, please read first the page @@ -22,8 +23,8 @@ "Project-Id-Version: policycoreutils\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-06-29 15:53-0400\n" -"PO-Revision-Date: 2006-05-13 10:34+0200\n" -"Last-Translator: Josep Puigdemont Casamajó <jos...@gm...>\n" +"PO-Revision-Date: 2006-08-28 10:34+0200\n" +"Last-Translator: Xavier Conde Rueda <xav...@gm...>\n" "Language-Team: Catalan <tra...@so...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,12 +38,12 @@ #: ../load_policy/load_policy.c:66 #, c-format msgid "%s: Can't load policy: %s\n" -msgstr "%s: No es pot carregar la política: %s\n" +msgstr "%s: no es pot carregar la política: %s\n" #: ../newrole/newrole.c:97 #, c-format msgid "Out of memory!\n" -msgstr "No hi ha prou memòria!\n" +msgstr "No hi ha prou memòria\n" #: ../newrole/newrole.c:199 ../run_init/run_init.c:126 #, c-format @@ -61,7 +62,9 @@ #: ../newrole/newrole.c:281 ../run_init/run_init.c:189 #, c-format msgid "Cannot find your entry in the shadow passwd file.\n" -msgstr "No s'ha pogut trobar la vostra entrada en el fitxer passwd ocult.\n" +msgstr "" +"No s'ha pogut trobar la vostra entrada en el fitxer de contrasenyes " +"ocultes.\n" #: ../newrole/newrole.c:287 ../run_init/run_init.c:195 #, c-format @@ -71,87 +74,91 @@ #: ../newrole/newrole.c:354 #, c-format msgid "Error initing capabilities, aborting.\n" -msgstr "" +msgstr "S'ha produït un error en iniciar les capacitats, s'està anul·lant.\n" #: ../newrole/newrole.c:368 #, c-format msgid "Error dropping capabilities, aborting\n" -msgstr "" +msgstr "S'ha produït un error en eliminar les capacitats, s'està anul·lant.\n" #: ../newrole/newrole.c:375 #, c-format msgid "Error changing uid, aborting.\n" -msgstr "" +msgstr "S'ha produït un error en canviar l'UID, s'està anul·lant.\n" #: ../newrole/newrole.c:382 #, c-format msgid "Error resetting KEEPCAPS, aborting\n" msgstr "" +"S'ha produït un error en tornar a establir el valor de KEEPCAPS, s'està " +"anul·lant.\n" #: ../newrole/newrole.c:390 #, c-format msgid "Error dropping SETUID capability, aborting\n" msgstr "" +"S'ha produït un error en eliminar la capacitat per a SETUID, s'està " +"anul·lant.\n" #: ../newrole/newrole.c:463 #, c-format msgid "Sorry, newrole may be used only on a SELinux kernel.\n" -msgstr "" +msgstr "El newrole només es pot fer servir amb un nucli amb SELinux.\n" #: ../newrole/newrole.c:468 #, c-format msgid "Could not determine enforcing mode.\n" -msgstr "" +msgstr "No s'ha pogut determinar el mode de reforç.\n" #: ../newrole/newrole.c:488 #, c-format msgid "Error: multiple roles specified\n" -msgstr "" +msgstr "S'ha produït un error: s'han especificat múltiples rols\n" #: ../newrole/newrole.c:498 #, c-format msgid "Error: multiple types specified\n" -msgstr "" +msgstr "S'ha produït un error: s'han especificat múltiples tipus\n" #: ../newrole/newrole.c:508 #, c-format msgid "Sorry, -l may be used with SELinux MLS support.\n" -msgstr "" +msgstr "El «-l» s'ha de fer servir amb suport MLS de SELinux.\n" #: ../newrole/newrole.c:515 #, c-format msgid "Error: multiple levels specified\n" -msgstr "" +msgstr "S'ha produït un error: s'han especificat múltiples nivells\n" #: ../newrole/newrole.c:537 #, c-format msgid "Couldn't get default type.\n" -msgstr "" +msgstr "No s'ha pogut obtenir el tipus predeterminat.\n" #: ../newrole/newrole.c:559 #, c-format msgid "failed to get old_context.\n" -msgstr "" +msgstr "no s'ha pogut obtenir l'old_context.\n" #: ../newrole/newrole.c:572 #, c-format msgid "failed to get new context.\n" -msgstr "" +msgstr "no s'ha pogut obtenir el nou context.\n" #: ../newrole/newrole.c:596 #, c-format msgid "cannot find your entry in the passwd file.\n" -msgstr "" +msgstr "no s'ha trobat la vostra entrada en el fitxer de contrasenyes.\n" #: ../newrole/newrole.c:606 #, c-format msgid "Error! Shell is not valid.\n" -msgstr "" +msgstr "L'intèrpret d'ordres no és vàlid.\n" #: ../newrole/newrole.c:614 #, c-format msgid "Error! Could not retrieve tty information.\n" -msgstr "" +msgstr "No s'ha pogut obtenir informació de la tty.\n" #: ../newrole/newrole.c:618 #, c-format @@ -161,32 +168,32 @@ #: ../newrole/newrole.c:632 #, c-format msgid "newrole: incorrect password for %s\n" -msgstr "" +msgstr "newrole: la contrasenya per a %s no és correcta\n" #: ../newrole/newrole.c:657 #, c-format msgid "failed to set new role %s\n" -msgstr "" +msgstr "no s'ha pogut establir un nou rol %s\n" #: ../newrole/newrole.c:671 #, c-format msgid "failed to set new type %s\n" -msgstr "" +msgstr "no s'ha pogut establir el nou tipus %s\n" #: ../newrole/newrole.c:688 #, c-format msgid "failed to build new range with level %s\n" -msgstr "" +msgstr "no s'ha pogut muntar el nou rang amb nivell %s\n" #: ../newrole/newrole.c:693 #, c-format msgid "failed to set new range %s\n" -msgstr "" +msgstr "no s'ha pogut establir el nou rang %s\n" #: ../newrole/newrole.c:708 #, c-format msgid "failed to convert new context to string\n" -msgstr "" +msgstr "no s'ha pogut convertir el nou context en cadena de text\n" #: ../newrole/newrole.c:717 #, c-format @@ -196,32 +203,36 @@ #: ../newrole/newrole.c:730 #, c-format msgid "Error! Could not open %s.\n" -msgstr "Error. No s'ha pogut obrir %s.\n" +msgstr "S'ha produït un error: no s'ha pogut obrir %s.\n" #: ../newrole/newrole.c:738 #, c-format msgid "%s! Could not get current context for %s, not relabeling tty.\n" msgstr "" +"%s. No s'ha pogut obtenir el context actual per a %s, no es reetiquetarà el " +"tty.\n" #: ../newrole/newrole.c:757 #, c-format msgid "%s! Could not get new context for %s, not relabeling tty.\n" msgstr "" +"%s. No s'ha pogut obtenir el nou context per a %s, no es reetiquetarà el " +"tty.\n" #: ../newrole/newrole.c:771 #, c-format msgid "%s! Could not set new context for %s\n" -msgstr "" +msgstr "%s. No s'ha pogut establir el nou context per a %s\n" #: ../newrole/newrole.c:784 #, c-format msgid "newrole: failure forking: %s" -msgstr "" +msgstr "newrole: no s'ha pogut crear un fill: %s" #: ../newrole/newrole.c:789 #, c-format msgid "Warning! Could not restore context for %s\n" -msgstr "" +msgstr "Avís: no es pot restaurar el context per a %s\n" #: ../newrole/newrole.c:810 #, c-format @@ -231,31 +242,31 @@ #: ../newrole/newrole.c:834 #, c-format msgid "Could not close descriptors.\n" -msgstr "" +msgstr "No s'ha pogut tancar els descriptors.\n" #: ../newrole/newrole.c:869 ../run_init/run_init.c:397 #, c-format msgid "Could not set exec context to %s.\n" -msgstr "" +msgstr "No s'ha pogut establir el context d'execució a %s.\n" #: ../newrole/newrole.c:881 #, c-format msgid "Error connecting to audit system.\n" -msgstr "" +msgstr "S'ha produït un error en connectar al sistema audit.\n" #: ../newrole/newrole.c:886 #, c-format msgid "Error allocating memory.\n" -msgstr "" +msgstr "S'ha produït un error en assignar memòria.\n" #: ../newrole/newrole.c:892 #, c-format msgid "Error sending audit message.\n" -msgstr "" +msgstr "S'ha produït un error en enviar el missatge d'audit.\n" #: ../newrole/newrole.c:903 msgid "failed to exec shell\n" -msgstr "" +msgstr "no s'ha pogut executar l'intèrpret d'ordres\n" #: ../run_init/run_init.c:67 msgid "" @@ -263,11 +274,14 @@ " where: <script> is the name of the init script to run,\n" " <args ...> are the arguments to that script." msgstr "" +"ÚS: run_init <fitxer de seqüència> <arguments ...>\n" +" on: <fitxer de seqüència> és la seqüència d'iniciació a executar,\n" +" <args ...> són els arguments per al fitxer de seqüència." #: ../run_init/run_init.c:267 #, c-format msgid "run_init: incorrect password for %s\n" -msgstr "" +msgstr "run_init: contrasenya incorrecta per a %s\n" #: ../run_init/run_init.c:301 #, c-format @@ -282,7 +296,7 @@ #: ../run_init/run_init.c:353 #, c-format msgid "Sorry, run_init may be used only on a SELinux kernel.\n" -msgstr "" +msgstr "El run_init només es pot fer servir amb un nucli SELinux.\n" #: ../run_init/run_init.c:372 #, c-format @@ -297,6 +311,7 @@ #, c-format msgid "Can not modify sensitivity levels using '+' on %s" msgstr "" +"No s'ha pogut modificar els nivells de sensibilitat fent servir '+' a %s" #: ../scripts/chcat:88 #, c-format @@ -358,19 +373,19 @@ #: ../scripts/chcat:296 msgid "Use -- to end option list. For example" -msgstr "" +msgstr "Useu -- per acabar la llista d'opcions. Per exemple" #: ../scripts/chcat:297 msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" -msgstr "" +msgstr "chcat -- -CompanyiaConfidencial /docs/pladenegocis.odt" #: ../scripts/chcat:298 msgid "chcat -l +CompanyConfidential juser" -msgstr "" +msgstr "chcat -l +CompanyiaConfidencial jusuari" #: ../semanage/semanage:122 msgid "Requires 2 or more arguments" -msgstr "" +msgstr "Necessita almenys dos arguments" #: ../semanage/semanage:127 #, c-format @@ -384,39 +399,41 @@ #: ../semanage/semanage:178 ../semanage/semanage:186 msgid "range not supported on Non MLS machines" -msgstr "" +msgstr "el rang no està implementat amb màquines sense MLS" #: ../semanage/semanage:244 msgid "You must specify a role" -msgstr "" +msgstr "Heu d'especificar un rol" #: ../semanage/semanage:246 msgid "You must specify a prefix" -msgstr "" +msgstr "Heu d'especificar un prefix" #: ../semanage/semanage:295 #, c-format msgid "Options Error %s " -msgstr "" +msgstr "Error en les opcions %s " #: ../semanage/semanage:299 #, c-format msgid "Invalid value %s" -msgstr "" +msgstr "Valor invàlid per a %s" #: ../semanage/seobject.py:124 msgid "translations not supported on non-MLS machines" -msgstr "" +msgstr "les traduccions no estan suportades en màquines sense MLS" #: ../semanage/seobject.py:131 #, python-format msgid "Unable to open %s: translations not supported on non-MLS machines" msgstr "" +"No s'ha pogut obrir %s: les traduccions no estan suportades a màquines sense " +"MLS" #: ../semanage/seobject.py:171 ../semanage/seobject.py:185 #, python-format msgid "Translations can not contain spaces '%s' " -msgstr "" +msgstr "Les traduccions no poden contenir espais '%s' " #: ../semanage/seobject.py:174 #, python-format @@ -426,24 +443,26 @@ #: ../semanage/seobject.py:177 #, python-format msgid "%s already defined in translations" -msgstr "" +msgstr "%s ja existeix a les traduccions" #: ../semanage/seobject.py:189 #, python-format msgid "%s not defined in translations" -msgstr "" +msgstr "%s no està definit a les traduccions" #: ../semanage/seobject.py:209 msgid "SELinux policy is not managed or store cannot be accessed." msgstr "" +"No s'està gestionant les polítiques del SELinux o no es pot accedir el " +"magatzem." #: ../semanage/seobject.py:214 msgid "Cannot read policy store." -msgstr "" +msgstr "No es pot llegir el magatzem de polítiques." #: ../semanage/seobject.py:219 msgid "Could not establish semanage connection" -msgstr "" +msgstr "No es pot establir la connexió amb el semanage" #: ../semanage/seobject.py:238 ../semanage/seobject.py:296 #: ../semanage/seobject.py:343 ../semanage/seobject.py:424 @@ -452,43 +471,43 @@ #: ../semanage/seobject.py:1188 ../semanage/seobject.py:1222 #, python-format msgid "Could not create a key for %s" -msgstr "" +msgstr "No s'ha pogut crear una clau per a %s" #: ../semanage/seobject.py:242 ../semanage/seobject.py:300 #: ../semanage/seobject.py:347 ../semanage/seobject.py:353 #, python-format msgid "Could not check if login mapping for %s is defined" -msgstr "" +msgstr "No s'ha pogut comprovar si està definit el mapatge d'entrada per a %s" #: ../semanage/seobject.py:244 #, python-format msgid "Login mapping for %s is already defined" -msgstr "" +msgstr "Ja s'ha definit el mapatge per a %s" #: ../semanage/seobject.py:248 #, python-format msgid "Linux User %s does not exist" -msgstr "" +msgstr "No existeix l'usuari de Linux %s" #: ../semanage/seobject.py:252 #, python-format msgid "Could not create login mapping for %s" -msgstr "" +msgstr "No s'ha pogut crear el mapatge d'entrada per a %s" #: ../semanage/seobject.py:256 ../semanage/seobject.py:438 #, python-format msgid "Could not set name for %s" -msgstr "" +msgstr "No s'ha pogut establir el nom per a %s" #: ../semanage/seobject.py:261 ../semanage/seobject.py:448 #, python-format msgid "Could not set MLS range for %s" -msgstr "" +msgstr "No s'ha pogut establir el rang MLS per a %s" #: ../semanage/seobject.py:265 #, python-format msgid "Could not set SELinux user for %s" -msgstr "" +msgstr "No s'ha pogut establir l'usuari SELinux per a %s" #: ../semanage/seobject.py:269 ../semanage/seobject.py:321 #: ../semanage/seobject.py:359 ../semanage/seobject.py:463 @@ -500,309 +519,312 @@ #: ../semanage/seobject.py:1135 ../semanage/seobject.py:1206 #: ../semanage/seobject.py:1238 msgid "Could not start semanage transaction" -msgstr "" +msgstr "No s'ha pogut iniciar la transacció del semanage" #: ../semanage/seobject.py:273 ../semanage/seobject.py:277 #, python-format msgid "Could not add login mapping for %s" -msgstr "" +msgstr "No s'ha pogut afegir el mapatge d'entrada per a %s" #: ../semanage/seobject.py:292 msgid "Requires seuser or serange" -msgstr "" +msgstr "Es necessita el seuser o el serange" #: ../semanage/seobject.py:302 ../semanage/seobject.py:349 #, python-format msgid "Login mapping for %s is not defined" -msgstr "" +msgstr "No s'ha definit el mapatge de l'entrada per a %s" #: ../semanage/seobject.py:306 #, python-format msgid "Could not query seuser for %s" -msgstr "" +msgstr "No s'ha pogut consultar el seuser quant a %s" #: ../semanage/seobject.py:325 ../semanage/seobject.py:329 #, python-format msgid "Could not modify login mapping for %s" -msgstr "" +msgstr "No s'ha pogut modificar el mapatge d'entrada per a %s" #: ../semanage/seobject.py:355 #, python-format msgid "Login mapping for %s is defined in policy, cannot be deleted" -msgstr "" +msgstr "S'ha definit el mapatge per a %s a la política, no es pot suprimir" #: ../semanage/seobject.py:364 ../semanage/seobject.py:368 #, python-format msgid "Could not delete login mapping for %s" -msgstr "" +msgstr "No s'ha pogut suprimir el mapatge d'entrada per a %s" #: ../semanage/seobject.py:382 msgid "Could not list login mappings" -msgstr "" +msgstr "No s'ha pogut llistar els mapatges d'entrada" #: ../semanage/seobject.py:428 ../semanage/seobject.py:497 #: ../semanage/seobject.py:553 ../semanage/seobject.py:559 #, python-format msgid "Could not check if SELinux user %s is defined" -msgstr "" +msgstr "No s'ha pogut comprovar si està definit l'usuari SELinux %s" #: ../semanage/seobject.py:430 #, python-format msgid "SELinux user %s is already defined" -msgstr "" +msgstr "L'usuari SELinux %s ja està definit" #: ../semanage/seobject.py:434 #, python-format msgid "Could not create SELinux user for %s" -msgstr "" +msgstr "No s'ha pogut crear l'usuari SELinux per a %s" #: ../semanage/seobject.py:443 #, python-format msgid "Could not add role %s for %s" -msgstr "" +msgstr "No s'ha pogut afegir el rol %s per a %s" #: ../semanage/seobject.py:452 #, python-format msgid "Could not set MLS level for %s" -msgstr "" +msgstr "No s'ha pogut establir el nivell MLS per a %s" #: ../semanage/seobject.py:456 #, python-format msgid "Could not add prefix %s for %s" -msgstr "" +msgstr "No s'ha pogut afegir el prefix %s per a %s" #: ../semanage/seobject.py:459 #, python-format msgid "Could not extract key for %s" -msgstr "" +msgstr "No s'ha pogut extreure la clau per a %s" #: ../semanage/seobject.py:467 ../semanage/seobject.py:471 #, python-format msgid "Could not add SELinux user %s" -msgstr "" +msgstr "No s'ha pogut afegir l'usuari SELinux %s" #: ../semanage/seobject.py:487 msgid "Requires prefix, roles, level or range" -msgstr "" +msgstr "Necessita prefix, rols, nivell o rang" #: ../semanage/seobject.py:489 msgid "Requires prefix or roles" -msgstr "" +msgstr "Necessita prefix o rols" #: ../semanage/seobject.py:499 ../semanage/seobject.py:555 #, python-format msgid "SELinux user %s is not defined" -msgstr "" +msgstr "L'usuari SELinux %s no està definit" #: ../semanage/seobject.py:503 #, python-format msgid "Could not query user for %s" -msgstr "" +msgstr "No s'ha pogut demanar l'usuari per a %s" #: ../semanage/seobject.py:530 ../semanage/seobject.py:534 #, python-format msgid "Could not modify SELinux user %s" -msgstr "" +msgstr "No s'ha pogut modificar l'usuari SELinux %s" #: ../semanage/seobject.py:561 #, python-format msgid "SELinux user %s is defined in policy, cannot be deleted" -msgstr "" +msgstr "L'usuari SELinux %s està definit a la política, no es pot esborrar" #: ../semanage/seobject.py:569 ../semanage/seobject.py:573 #, python-format msgid "Could not delete SELinux user %s" -msgstr "" +msgstr "No es pot esborrar l'usuari SELinux %s" #: ../semanage/seobject.py:585 msgid "Could not list SELinux users" -msgstr "" +msgstr "No es pot llistar els usuaris SELinux" #: ../semanage/seobject.py:591 #, python-format msgid "Could not list roles for user %s" -msgstr "" +msgstr "No es pot llistar els rols per a l'usuari %s" #: ../semanage/seobject.py:625 msgid "Protocol udp or tcp is required" -msgstr "" +msgstr "Es necessita el protocol udp o tcp" #: ../semanage/seobject.py:627 msgid "Port is required" -msgstr "" +msgstr "Cal el port" #: ../semanage/seobject.py:638 #, python-format msgid "Could not create a key for %s/%s" -msgstr "" +msgstr "No es pot crear una clau per a %s/%s" #: ../semanage/seobject.py:649 msgid "Type is required" -msgstr "" +msgstr "Cal el tipus" #: ../semanage/seobject.py:655 ../semanage/seobject.py:717 #: ../semanage/seobject.py:751 ../semanage/seobject.py:757 #, python-format msgid "Could not check if port %s/%s is defined" -msgstr "" +msgstr "No s'ha pogut comprovar si el port %s/%s està definit" #: ../semanage/seobject.py:657 #, python-format msgid "Port %s/%s already defined" -msgstr "" +msgstr "El port %s/%s està definit" #: ../semanage/seobject.py:661 #, python-format msgid "Could not create port for %s/%s" -msgstr "" +msgstr "No s'ha pogut crear el port per a %s/%s" #: ../semanage/seobject.py:667 #, python-format msgid "Could not create context for %s/%s" -msgstr "" +msgstr "No s'ha pogut crear el context per a %s/%s" #: ../semanage/seobject.py:671 #, python-format msgid "Could not set user in port context for %s/%s" -msgstr "" +msgstr "No s'ha pogut establir l'usuari al context del port per a %s/%s" #: ../semanage/seobject.py:675 #, python-format msgid "Could not set role in port context for %s/%s" -msgstr "" +msgstr "No s'ha pogut establir el rol al context del port per a %s/%s" #: ../semanage/seobject.py:679 #, python-format msgid "Could not set type in port context for %s/%s" -msgstr "" +msgstr "No s'ha pogut establir el tipus al context del port per a %s/%s" #: ../semanage/seobject.py:684 #, python-format msgid "Could not set mls fields in port context for %s/%s" msgstr "" +"No s'ha pogut establir els camps mls en el context del port per a %s/%s" #: ../semanage/seobject.py:688 #, python-format msgid "Could not set port context for %s/%s" -msgstr "" +msgstr "No s'ha pogut establir el context del port per a %s/%s" #: ../semanage/seobject.py:696 ../semanage/seobject.py:700 #, python-format msgid "Could not add port %s/%s" -msgstr "" +msgstr "No s'ha pogut afegir el port %s/%s" #: ../semanage/seobject.py:709 ../semanage/seobject.py:906 msgid "Requires setype or serange" -msgstr "" +msgstr "Cal el setype o el serange" #: ../semanage/seobject.py:711 msgid "Requires setype" -msgstr "" +msgstr "Cal el setype" #: ../semanage/seobject.py:719 ../semanage/seobject.py:753 #, python-format msgid "Port %s/%s is not defined" -msgstr "" +msgstr "El port %s/%s no està definit" #: ../semanage/seobject.py:723 #, python-format msgid "Could not query port %s/%s" -msgstr "" +msgstr "No es pot consultar el port %s/%s" #: ../semanage/seobject.py:738 ../semanage/seobject.py:742 #, python-format msgid "Could not modify port %s/%s" -msgstr "" +msgstr "No es pot modificar el port %s/%s" #: ../semanage/seobject.py:759 #, python-format msgid "Port %s/%s is defined in policy, cannot be deleted" -msgstr "" +msgstr "El port %s/%s està definit en la política, no es pot suprimir" #: ../semanage/seobject.py:767 ../semanage/seobject.py:771 #, python-format msgid "Could not delete port %s/%s" -msgstr "" +msgstr "No s'ha pogut suprimir el port %s/%s" #: ../semanage/seobject.py:779 ../semanage/seobject.py:798 msgid "Could not list ports" -msgstr "" +msgstr "No s'ha pogut llistar els ports" #: ../semanage/seobject.py:842 ../semanage/seobject.py:1014 msgid "SELinux Type is required" -msgstr "" +msgstr "Cal el tipus SELinux" #: ../semanage/seobject.py:846 ../semanage/seobject.py:910 #: ../semanage/seobject.py:947 ../semanage/seobject.py:1018 #, python-format msgid "Could not create key for %s" -msgstr "" +msgstr "No s'ha pogut crear la clau per a %s" #: ../semanage/seobject.py:850 ../semanage/seobject.py:914 #: ../semanage/seobject.py:951 ../semanage/seobject.py:957 #, python-format msgid "Could not check if interface %s is defined" -msgstr "" +msgstr "No s'ha pogut comprovar si s'ha definit la interfície %s" #: ../semanage/seobject.py:852 #, python-format msgid "Interface %s already defined" -msgstr "" +msgstr "Ja s'ha definit la interfície %s" #: ../semanage/seobject.py:856 #, python-format msgid "Could not create interface for %s" -msgstr "" +msgstr "No s'ha pogut crear la interfície per a %s" #: ../semanage/seobject.py:861 ../semanage/seobject.py:1033 #, python-format msgid "Could not create context for %s" -msgstr "" +msgstr "No s'ha pogut crear el context per a %s" #: ../semanage/seobject.py:865 #, python-format msgid "Could not set user in interface context for %s" msgstr "" +"No s'ha pogut establir l'usuari en el context de la interfície per a %s" #: ../semanage/seobject.py:869 #, python-format msgid "Could not set role in interface context for %s" -msgstr "" +msgstr "No s'ha pogut establir el rol en el context d'interfície per a %s" #: ../semanage/seobject.py:873 #, python-format msgid "Could not set type in interface context for %s" -msgstr "" +msgstr "No s'ha pogut establir el tipus en el context d'interfície per a %s" #: ../semanage/seobject.py:878 #, python-format msgid "Could not set mls fields in interface context for %s" msgstr "" +"No s'ha pogut establir els camps mls en el context d'interfície per a %s" #: ../semanage/seobject.py:882 #, python-format msgid "Could not set interface context for %s" -msgstr "" +msgstr "No s'ha pogut establir el context d'interfície per a %s" #: ../semanage/seobject.py:886 #, python-format msgid "Could not set message context for %s" -msgstr "" +msgstr "No s'ha pogut establir el context de missatge per a %s" #: ../semanage/seobject.py:894 ../semanage/seobject.py:898 #, python-format msgid "Could not add interface %s" -msgstr "" +msgstr "No s'ha pogut afegir la interfície per a %s" #: ../semanage/seobject.py:916 ../semanage/seobject.py:953 #, python-format msgid "Interface %s is not defined" -msgstr "La interfície %s no és definida" +msgstr "La interfície %s no s'ha definit" #: ../semanage/seobject.py:920 #, python-format msgid "Could not query interface %s" -msgstr "No s'ha pogut consultar la initerfície %s" +msgstr "No s'ha pogut consultar la interfície %s" #: ../semanage/seobject.py:935 ../semanage/seobject.py:939 #, python-format @@ -812,7 +834,7 @@ #: ../semanage/seobject.py:959 #, python-format msgid "Interface %s is defined in policy, cannot be deleted" -msgstr "La interfície %s és definida a la política, no es pot suprimir" +msgstr "La interfície %s s'ha definit a la política, no es pot suprimir" #: ../semanage/seobject.py:967 ../semanage/seobject.py:971 #, python-format @@ -827,80 +849,82 @@ #: ../semanage/seobject.py:1123 ../semanage/seobject.py:1129 #, python-format msgid "Could not check if file context for %s is defined" -msgstr "" +msgstr "No s'ha pogut comprovar si el context de fitxer per a %s està definit" #: ../semanage/seobject.py:1024 #, python-format msgid "File context for %s already defined" -msgstr "" +msgstr "El context de fitxer per a %s ja està definit" #: ../semanage/seobject.py:1028 #, python-format msgid "Could not create file context for %s" -msgstr "" +msgstr "No s'ha pogut crear el fitxer de context per a %s" #: ../semanage/seobject.py:1037 #, python-format msgid "Could not set user in file context for %s" -msgstr "" +msgstr "No s'ha pogut establir l'usuari en el context del fitxer per a %s" #: ../semanage/seobject.py:1041 #, python-format msgid "Could not set role in file context for %s" -msgstr "" +msgstr "No s'ha pogut establir el rol en el context del fitxer per a %s" #: ../semanage/seobject.py:1045 #, python-format msgid "Could not set type in file context for %s" -msgstr "" +msgstr "No s'ha pogut establir el tipus en el context del fitxer per a %s" #: ../semanage/seobject.py:1050 #, python-format msgid "Could not set mls fields in file context for %s" -msgstr "" +msgstr "No s'ha pogut establir els camps mls en el context de fitxer per a %s" #: ../semanage/seobject.py:1056 #, python-format msgid "Could not set file context for %s" -msgstr "" +msgstr "No s'ha pogut establir el context de fitxer per a %s" #: ../semanage/seobject.py:1064 ../semanage/seobject.py:1068 #, python-format msgid "Could not add file context for %s" -msgstr "" +msgstr "No s'ha pogut afegir el context de fitxer per a %s" #: ../semanage/seobject.py:1076 msgid "Requires setype, serange or seuser" -msgstr "" +msgstr "Es necessita el setype, serange o seuser" #: ../semanage/seobject.py:1086 ../semanage/seobject.py:1125 #, python-format msgid "File context for %s is not defined" -msgstr "" +msgstr "No s'ha definit el context del fitxer per a %s" #: ../semanage/seobject.py:1090 #, python-format msgid "Could not query file context for %s" -msgstr "" +msgstr "No s'ha pogut consultar el context del fitxer per a %s" #: ../semanage/seobject.py:1107 ../semanage/seobject.py:1111 #, python-format msgid "Could not modify file context for %s" -msgstr "" +msgstr "No s'ha pogut modificar el context de fitxer per a %s" #: ../semanage/seobject.py:1131 #, python-format msgid "File context for %s is defined in policy, cannot be deleted" msgstr "" +"El context del fitxer per a %s està definit en la política, no es pot " +"suprimir" #: ../semanage/seobject.py:1139 ../semanage/seobject.py:1143 #, python-format msgid "Could not delete file context for %s" -msgstr "" +msgstr "No s'ha pogut esborrar el context de fitxer per a %s" #: ../semanage/seobject.py:1151 msgid "Could not list file contexts" -msgstr "" +msgstr "No s'ha pogut llistar els contexts del fitxer" #: ../semanage/seobject.py:1184 msgid "Requires value" @@ -910,12 +934,12 @@ #: ../semanage/seobject.py:1232 #, python-format msgid "Could not check if boolean %s is defined" -msgstr "" +msgstr "No s'ha pogut comprovar si el booleà %s està definit" #: ../semanage/seobject.py:1194 ../semanage/seobject.py:1228 #, python-format msgid "Boolean %s is not defined" -msgstr "El booleà %s no és definit" +msgstr "El booleà %s no s'ha definit" #: ../semanage/seobject.py:1198 #, python-format @@ -930,21 +954,21 @@ #: ../semanage/seobject.py:1234 #, python-format msgid "Boolean %s is defined in policy, cannot be deleted" -msgstr "" +msgstr "El booleà %s està definit a la política, no es pot suprimir" #: ../semanage/seobject.py:1242 ../semanage/seobject.py:1246 #, python-format msgid "Could not delete boolean %s" -msgstr "" +msgstr "No s'ha pogut suprimir el booleà %s" #: ../semanage/seobject.py:1254 msgid "Could not list booleans" -msgstr "" +msgstr "No s'ha pogut llistar els booleans" #: ../audit2allow/audit2allow:179 #, c-format msgid "Generating type enforcment file: %s.te" -msgstr "" +msgstr "S'està generant el fitxer de reforç del tipus: %s.te" #: ../audit2allow/audit2allow:184 msgid "Compiling policy" @@ -967,8 +991,13 @@ "semodule -i %s.pp\n" "\n" msgstr "" +"Per carregar aquest nou paquet de polítiques en el nucli,\n" +"us cal executar\n" +"\n" +"semodule -i %s.pp\n" +"\n" #: ../audit2allow/audit2allow:203 #, c-format msgid "Options Error: %s " -msgstr "" +msgstr "Error en les opcions: %s " Modified: trunk/policycoreutils/po/de.po =================================================================== --- trunk/policycoreutils/po/de.po 2006-10-17 15:12:10 UTC (rev 2058) +++ trunk/policycoreutils/po/de.po 2006-10-17 15:44:41 UTC (rev 2059) @@ -1,19 +1,22 @@ +# translation of de.po to # German translation of policycoreutils. # Copyright (C) 2006 Free Software Foundation, Inc. # Holger Wansing <li...@wa...>, 2006. +# Timo Trinks <tt...@re...>, 2006. # # msgid "" msgstr "" -"Project-Id-Version: policycoreutils 1.28-4\n" +"Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-06-29 15:53-0400\n" -"PO-Revision-Date: 2006-07-07 19:04+0100\n" -"Last-Translator: Marcus Gloeckner <mgl...@gm...>\n" -"Language-Team: German <deb...@li...>\n" +"PO-Revision-Date: 2006-08-30 10:57+1000\n" +"Last-Translator: Timo Trinks <tt...@re...>\n" +"Language-Team: <en...@li...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.9.1\n" #: ../load_policy/load_policy.c:22 #, c-format @@ -174,8 +177,7 @@ #: ../newrole/newrole.c:708 #, c-format msgid "failed to convert new context to string\n" -msgstr "" -"Konvertieren des neuen Kontexts in Zeichenfolge (String) fehlgeschlagen\n" +msgstr "Konvertieren des neuen Kontexts in Zeichenfolge (String) fehlgeschlagen\n" #: ../newrole/newrole.c:717 #, c-format @@ -294,9 +296,9 @@ # Translation of sensitivity fuzzy #: ../scripts/chcat:84 ../scripts/chcat:154 -#, fuzzy, c-format +#, c-format msgid "Can not modify sensitivity levels using '+' on %s" -msgstr "Kann Feineinstellung, unter Verwendung von '+', auf %s nicht ändern" +msgstr "Kann Sensivitätsstufe mittels '+' auf %s nicht ändern" #: ../scripts/chcat:88 #, c-format @@ -314,9 +316,8 @@ # Translation of 'sensitivities' fuzzy #: ../scripts/chcat:282 -#, fuzzy msgid "Can not have multiple sensitivities" -msgstr "Kann nicht mehrere Feineinstellungen besitzen" +msgstr "Kann nicht mehrere Empfindlichkeiten besitzen" #: ../scripts/chcat:288 #, c-format @@ -413,8 +414,7 @@ #: ../semanage/seobject.py:131 #, python-format msgid "Unable to open %s: translations not supported on non-MLS machines" -msgstr "" -"Öffnen von %s: Übersetzungen auf Nicht-MLS Machinen werden nicht unterstützt" +msgstr "Öffnen von %s: Übersetzungen auf Nicht-MLS Machinen werden nicht unterstützt" #: ../semanage/seobject.py:171 ../semanage/seobject.py:185 #, python-format @@ -726,8 +726,7 @@ #: ../semanage/seobject.py:759 #, python-format msgid "Port %s/%s is defined in policy, cannot be deleted" -msgstr "" -"Port %s/%s ist in der Richtlinie festgelegt und kann nicht entfernt werden" +msgstr "Port %s/%s ist in der Richtlinie festgelegt und kann nicht entfernt werden" #: ../semanage/seobject.py:767 ../semanage/seobject.py:771 #, python-format @@ -744,15 +743,15 @@ #: ../semanage/seobject.py:846 ../semanage/seobject.py:910 #: ../semanage/seobject.py:947 ../semanage/seobject.py:1018 -#, fuzzy, python-format +#, python-format msgid "Could not create key for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Schlüssel für %s nicht kreieren" #: ../semanage/seobject.py:850 ../semanage/seobject.py:914 #: ../semanage/seobject.py:951 ../semanage/seobject.py:957 -#, fuzzy, python-format +#, python-format msgid "Could not check if interface %s is defined" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte nicht überprüfen, ob die Schnittstelle %s definiert ist" #: ../semanage/seobject.py:852 #, python-format @@ -760,49 +759,49 @@ msgstr "Schnittstelle %s ist bereits definiert" #: ../semanage/seobject.py:856 -#, fuzzy, python-format +#, python-format msgid "Could not create interface for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte keine Schnittstelle für %s kreieren" #: ../semanage/seobject.py:861 ../semanage/seobject.py:1033 -#, fuzzy, python-format +#, python-format msgid "Could not create context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte keinen Kontext für %s kreieren" #: ../semanage/seobject.py:865 -#, fuzzy, python-format +#, python-format msgid "Could not set user in interface context for %s" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte Benutzer in Schnittstellen-Kontext für %s nicht setzen" #: ../semanage/seobject.py:869 -#, fuzzy, python-format +#, python-format msgid "Could not set role in interface context for %s" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte Aufgabe in Schnittstellen-Kontext für %s nicht setzen" #: ../semanage/seobject.py:873 -#, fuzzy, python-format +#, python-format msgid "Could not set type in interface context for %s" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte Typ in Schnittstellen-Kontext für %s nicht setzen" #: ../semanage/seobject.py:878 -#, fuzzy, python-format +#, python-format msgid "Could not set mls fields in interface context for %s" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte die mls-Felder in Schnittstellen-Kontext für %s nicht setzen" #: ../semanage/seobject.py:882 -#, fuzzy, python-format +#, python-format msgid "Could not set interface context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Schnittstellen-Kontext für %s nicht setzen" #: ../semanage/seobject.py:886 -#, fuzzy, python-format +#, python-format msgid "Could not set message context for %s" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte Nachricht-Kontext für %s nicht setzen" #: ../semanage/seobject.py:894 ../semanage/seobject.py:898 -#, fuzzy, python-format +#, python-format msgid "Could not add interface %s" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte Schnittstelle %s nicht hinzufügen" #: ../semanage/seobject.py:916 ../semanage/seobject.py:953 #, python-format @@ -810,14 +809,14 @@ msgstr "Schnittstelle %s ist nicht definiert" #: ../semanage/seobject.py:920 -#, fuzzy, python-format +#, python-format msgid "Could not query interface %s" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte Schnittstelle %s nicht abfragen" #: ../semanage/seobject.py:935 ../semanage/seobject.py:939 -#, fuzzy, python-format +#, python-format msgid "Could not modify interface %s" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte Schnittstelle %s nicht modifizieren" #: ../semanage/seobject.py:959 #, python-format @@ -827,79 +826,78 @@ "werden" #: ../semanage/seobject.py:967 ../semanage/seobject.py:971 -#, fuzzy, python-format +#, python-format msgid "Could not delete interface %s" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte Schnittstelle %s nicht löschen" #: ../semanage/seobject.py:979 -#, fuzzy msgid "Could not list interfaces" -msgstr "Konnte Deskriptoren nicht schließen.\n" +msgstr "Konnte Schnittstellen nicht auflisten" #: ../semanage/seobject.py:1022 ../semanage/seobject.py:1084 #: ../semanage/seobject.py:1123 ../semanage/seobject.py:1129 -#, fuzzy, python-format +#, python-format msgid "Could not check if file context for %s is defined" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte nicht überprüfen, ob Datei-Kontext für %s definiert ist" #: ../semanage/seobject.py:1024 -#, fuzzy, python-format +#, python-format msgid "File context for %s already defined" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Datei-Kontext für %s ist bereits definiert" #: ../semanage/seobject.py:1028 -#, fuzzy, python-format +#, python-format msgid "Could not create file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Datei-Kontext für %s nicht kreieren" #: ../semanage/seobject.py:1037 -#, fuzzy, python-format +#, python-format msgid "Could not set user in file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Benutzer in Datei-Kontext für %s nicht setzen" #: ../semanage/seobject.py:1041 -#, fuzzy, python-format +#, python-format msgid "Could not set role in file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Aufgabe in Datei-Kontext für %s nicht setzen" #: ../semanage/seobject.py:1045 -#, fuzzy, python-format +#, python-format msgid "Could not set type in file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Typ in Datei-Kontext für %s nicht setzen" #: ../semanage/seobject.py:1050 -#, fuzzy, python-format +#, python-format msgid "Could not set mls fields in file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte die mls-Felder in Datei-Kontext für %s nicht setzen" #: ../semanage/seobject.py:1056 -#, fuzzy, python-format +#, python-format msgid "Could not set file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Datei-Kontext für %s nicht setzen" #: ../semanage/seobject.py:1064 ../semanage/seobject.py:1068 -#, fuzzy, python-format +#, python-format msgid "Could not add file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Datei-Kontext für %s nicht hinzufügen" #: ../semanage/seobject.py:1076 msgid "Requires setype, serange or seuser" msgstr "Benötigt setype, serange oder seuser" #: ../semanage/seobject.py:1086 ../semanage/seobject.py:1125 -#, fuzzy, python-format +#, python-format msgid "File context for %s is not defined" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Datei-Kontext für %s ist nicht definiert" #: ../semanage/seobject.py:1090 -#, fuzzy, python-format +#, python-format msgid "Could not query file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Datei-Kontext für %s nicht abfragen" #: ../semanage/seobject.py:1107 ../semanage/seobject.py:1111 -#, fuzzy, python-format +#, python-format msgid "Could not modify file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Datei-Kontext für %s nicht erneuern" #: ../semanage/seobject.py:1131 #, python-format @@ -909,14 +907,13 @@ "entfernt werden" #: ../semanage/seobject.py:1139 ../semanage/seobject.py:1143 -#, fuzzy, python-format +#, python-format msgid "Could not delete file context for %s" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte Datei-Kontext für %s nicht löschen" #: ../semanage/seobject.py:1151 -#, fuzzy msgid "Could not list file contexts" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte Datei-Kontexte nicht auflisten" #: ../semanage/seobject.py:1184 msgid "Requires value" @@ -924,9 +921,9 @@ #: ../semanage/seobject.py:1192 ../semanage/seobject.py:1226 #: ../semanage/seobject.py:1232 -#, fuzzy, python-format +#, python-format msgid "Could not check if boolean %s is defined" -msgstr "Warnung! Konnte neuen Kontext für »%s« nicht setzen.\n" +msgstr "Konnte nicht überprüfen, ob boolesch %s definiert ist" #: ../semanage/seobject.py:1194 ../semanage/seobject.py:1228 #, python-format @@ -934,14 +931,14 @@ msgstr "Boolscher Wert %s ist nicht definiert" #: ../semanage/seobject.py:1198 -#, fuzzy, python-format +#, python-format msgid "Could not query file context %s" -msgstr "Konnte exec-Kontext nicht auf »%s« setzen.\n" +msgstr "Konnte den Datei-Kontext %s nicht abfragen" #: ../semanage/seobject.py:1210 ../semanage/seobject.py:1214 -#, fuzzy, python-format +#, python-format msgid "Could not modify boolean %s" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte boolesch %s nicht erneuern" #: ../semanage/seobject.py:1234 #, python-format @@ -951,14 +948,13 @@ "werden" #: ../semanage/seobject.py:1242 ../semanage/seobject.py:1246 -#, fuzzy, python-format +#, python-format msgid "Could not delete boolean %s" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte boolesch %s nicht löschen" #: ../semanage/seobject.py:1254 -#, fuzzy msgid "Could not list booleans" -msgstr "Konnte Datei »%s« nicht öffnen\n" +msgstr "Konnte boolesche Werte nicht auflisten" #: ../audit2allow/audit2allow:179 #, c-format @@ -997,115 +993,3 @@ msgid "Options Error: %s " msgstr "Options Fehler: %s" -#, fuzzy -#~ msgid "usage: %s policyfile\n" -#~ msgstr "Aufruf: %s Policy-Datei\n" - -#~ msgid "Can't open '%s': %s\n" -#~ msgstr "Kann »%s« nicht öffnen: %s\n" - -#~ msgid "Can't stat '%s': %s\n" -#~ msgstr "Kann »%s« nicht mit stat abfragen: %s\n" - -#~ msgid "Can't map '%s': %s\n" -#~ msgstr "Kann »%s« nicht mappen: %s\n" - -#~ msgid "%s: security_load_policy failed\n" -#~ msgstr "%s: security_load_policy fehlgeschlagen\n" - -#~ msgid "%s: insufficient memory for file label entry for %s\n" -#~ msgstr "%s: nicht genügend Speicher für Dateibezeichnungseintrag für %s\n" - -#~ msgid "%s: conflicting specifications for %s and %s, using %s.\n" -#~ msgstr "%s: widersprüchliche Angaben für %s und %s, benutze %s.\n" - -#~ msgid "" -#~ "%s: hash table stats: %d elements, %d/%d buckets used, longest chain " -#~ "length %d\n" -#~ msgstr "" -#~ "%s: Hash-Tabellen-Status: %d Elemente, %d/%d genutzte Buckets, Länge der " -#~ "längsten Kette %d\n" - -#~ msgid "%s: unable to stat file %s\n" -#~ msgstr "%s: kann Datei %s nicht mit stat abfragen\n" - -#~ msgid "%s: unable to match %s against %s: %s\n" -#~ msgstr "%s: %s passt nicht zu %s: %s\n" - -#~ msgid "ERROR: Multiple different specifications for %s (%s and %s).\n" -#~ msgstr "" -#~ "FEHLER: mehrere unterschiedliche Spezifikationen für %s (%s und %s).\n" - -#~ msgid "WARNING: Multiple same specifications for %s.\n" -#~ msgstr "WARNUNG: mehrere identische Spezifikationen für %s.\n" - -#~ msgid "%s: unable to read directory %s\n" -#~ msgstr "%s: kann Verzeichnis »%s« nicht lesen.\n" - -#~ msgid "%s: %s matched by (%s,%s,%s)\n" -#~ msgstr "%s: %s passt zu (%s,%s,%s)\n" - -#~ msgid "%s: %s matched by (%s,%s)\n" -#~ msgstr "%s: %s passt zu (%s,%s)\n" - -#~ msgid "%s: unable to obtain attribute for file %s\n" -#~ msgstr "%s: kann Attribut f\xC3\xBCr Datei »%s« nicht bekommen\n" - -#~ msgid "%s: relabeling %s from %s to %s\n" -#~ msgstr "%s: %s umbenennen von %s nach %s\n" - -#~ msgid "%s: unable to relabel %s to %s\n" -#~ msgstr "%s: kann %s nicht in %s umbenennen\n" - -#~ msgid "usage: %s [-dnpqsvW] spec_file pathname...\n" -#~ msgstr "Aufruf: %s [-dnpqsvW] spec-Datei Pfadname ...\n" - -#~ msgid "usage: %s [-dnpqvW] spec_file pathname...\n" -#~ msgstr "Aufruf: %s [-dnpqvW] spec-Datei Pfadname ...\n" - -#~ msgid "%s: no newline on line number %d (only read %s)\n" -#~ msgstr "%s: keine neue Eingabe bei Zeilennummer %d (lese nur %s)\n" - -#~ msgid "%s: line number %d is missing fields (only read %s)\n" -#~ msgstr "%s: in Zeile %d fehlen Einträge (lese nur %s)\n" - -#~ msgid "%s: insufficient memory for anchored regexp on line %d\n" -#~ msgstr "" -#~ "%s: nicht genügend Speicher für verankerten Regexp (regulären Ausdruck) " -#~ "in Zeile %d\n" - -#~ msgid "" -#~ "%s: unable to compile regular expression %s on line number %d: %s\n" -#~ msgstr "" -#~ "%s: kann Regexp (regulären Ausdruck) %s in Zeile %d nicht kompilieren: %" -#~ "s\n" - -#~ msgid "%s: invalid type specifier %s on line number %d\n" -#~ msgstr "%s: ungültiger Typbezeichner %s in Zeile %d\n" - -#~ msgid "%s: invalid context %s on line number %d\n" -#~ msgstr "%s: ungültiger Kontext %s in Zeile %d\n" - -#~ msgid "%s: read %d specifications\n" -#~ msgstr "%s: lese %d Spezifikationen\n" - -#~ msgid "%s: insufficient memory for specifications\n" -#~ msgstr "%s: nicht genügend Speicher für Spezifikationen\n" - -#~ msgid "File \"%s\" not found.\n" -#~ msgstr "Datei »%s« nicht gefunden\n" - -#~ msgid "%s: labeling files under %s\n" -#~ msgstr "%s: benenne Dateien unter %s\n" - -#~ msgid "%s: error while labeling files under %s\n" -#~ msgstr "%s: Fehler beim Benennen der Dateien unter %s\n" - -#~ msgid "%s: Warning! No matches for (%s, %s, %s)\n" -#~ msgstr "%s: Warnung! Keine Treffer für (%s, %s, %s)\n" - -#~ msgid "%s: Warning! No matches for (%s, %s)\n" -#~ msgstr "%s: Warnung! Keine Treffer für (%s, %s)\n" - -#~ msgid "%s: Done.\n" -#~ msgstr "%s: Erledigt.\n" Modified: trunk/policycoreutils/po/el.po =================================================================== --- trunk/policycoreutils/po/el.po 2006-10-17 15:12:10 UTC (rev 2058) +++ trunk/policycoreutils/po/el.po 2006-10-17 15:44:41 UTC (rev 2059) @@ -3,18 +3,19 @@ # This file is distributed under the same license as the PACKAGE package. # # Simos Xenitellis <si...@gn...>, 2006. +# Dimitris Glezos <dim...@gl...>, 2006. msgid "" msgstr "" "Project-Id-Version: el\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-06-29 15:53-0400\n" -"PO-Revision-Date: 2006-07-05 15:27+0100\n" -"Last-Translator: Simos Xenitellis <si...@gn...>\n" -"Language-Team: Greek <te...@gn...>\n" +"PO-Revision-Date: 2006-09-18 14:49+0100\n" +"Last-Translator: Dimitris Glezos <dim...@gl...>\n" +"Language-Team: Greek <fed...@re...>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.2\n" +"X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../load_policy/load_policy.c:22 @@ -44,21 +45,9 @@ msgstr "Αποτυχία ορίσματος του PAM_TTY=%s" # #-#-#-#-# gdm2.gnome-2-14.el.po (el) #-#-#-#-# -# #: ../newrole/newrole.c:246 ../run_init/run_init.c:154 -#, fuzzy msgid "Password:" -msgstr "" -"#-#-#-#-# ekiga.gnome-2-14.el.po (el) #-#-#-#-#\n" -"Κωδικός:\n" -"#-#-#-#-# evolution-exchange.gnome-2-14.el.po (el) #-#-#-#-#\n" -"Κωδικός:\n" -"#-#-#-#-# gdm2.gnome-2-14.el.po (el) #-#-#-#-#\n" -"Κωδικός πρόσβασης:\n" -"#-#-#-#-# gnome-applets.gnome-2-14.el.po (el) #-#-#-#-#\n" -"Κωδικός:\n" -"#-#-#-#-# gnome-terminal.gnome-2-14.el.po (el) #-#-#-#-#\n" -"Κωδικός:" +msgstr "Συνθηματικό:" #: ../newrole/newrole.c:281 ../run_init/run_init.c:189 #, c-format @@ -157,14 +146,14 @@ msgstr "Αδυναμία ανάκτησ\xCE\xB7ς δεδομένων μετοχών." #: ../newrole/newrole.c:618 -#, fuzzy, c-format +#, c-format msgid "Authenticating %s.\n" -msgstr "Πιστοποίηση" +msgstr "Πιστοποίηση %s.\n" #: ../newrole/newrole.c:632 #, fuzzy, c-format msgid "newrole: incorrect password for %s\n" -msgstr "Εισάγετε κωδικό πρόσβασης για %s" +msgstr "Εισάγετε συνθηματικό για %s" #: ../newrole/newrole.c:657 #, fuzzy, c-format @@ -197,9 +186,9 @@ msgstr "Το %s δεν είναι έγκυρη τοποθεσία" #: ../newrole/newrole.c:730 -#, fuzzy, c-format +#, c-format msgid "Error! Could not open %s.\n" -msgstr "Αδυναμία ανοίγματος \"%s\"" +msgstr "Σφάλμα! Αδυναμία ανοίγματος %s.\n" # #: ../newrole/newrole.c:738 @@ -272,9 +261,9 @@ msgstr "" #: ../run_init/run_init.c:267 -#, fuzzy, c-format +#, c-format msgid "run_init: incorrect password for %s\n" -msgstr "Εισάγετε κωδικό πρόσβ\xCE\xB1σης για %s" +msgstr "run_init: λανθασμένο συνθηματικό για %s\n" #: ../run_init/run_init.c:301 #, fuzzy, c-format @@ -292,14 +281,14 @@ msgstr "" #: ../run_init/run_init.c:372 -#, fuzzy, c-format +#, c-format msgid "authentication failed.\n" -msgstr "Η πιστοποίηση απέτυχε." +msgstr "αποτυχία πιστοποίησης.\n" #: ../scripts/chcat:70 ../scripts/chcat:140 #, fuzzy msgid "Requires at least one category" -msgstr "Απαιτούμενα Άτομα και έ_νας Πόρος" +msgstr "Απαιτούμενα άτομα και έ_νας πόρος" #: ../scripts/chcat:84 ../scripts/chcat:154 #, c-format @@ -616,7 +605,7 @@ #: ../semanage/seobject.py:489 #, fuzzy msgid "Requires prefix or roles" -msgstr "_Απαιτούμενα Άτομα" +msgstr "_Απαιτούμενα άτομα" #: ../semanage/seobject.py:499 ../semanage/seobject.py:555 #, fuzzy, python-format @@ -731,7 +720,7 @@ #: ../semanage/seobject.py:711 #, fuzzy msgid "Requires setype" -msgstr "_Απαιτούμενα Άτομα" +msgstr "_Απαιτούμενα άτομα" #: ../semanage/seobject.py:719 ../semanage/seobject.py:753 #, fuzzy, python-format @@ -939,8 +928,7 @@ #: ../semanage/seobject.py:1139 ../semanage/seobject.py:1143 #, fuzzy, python-format msgid "Could not delete file context for %s" -msgstr "" -"Δεν ήταν δυνατή η διαγραφή του αρχείου περιεχομένων του φακέλου `%s': %s" +msgstr "Δεν ήταν δυνατή η διαγραφή του αρχείου περιεχομένων του φακέλου `%s': %s" #: ../semanage/seobject.py:1151 #, fuzzy @@ -1018,3 +1006,4 @@ #, fuzzy, c-format msgid "Options Error: %s " msgstr "Σφάλμα πιστοποίησης: %s" + Modified: trunk/policycoreutils/po/hr.po =================================================================== --- trunk/policycoreutils/po/hr.po 2006-10-17 15:12:10 UTC (rev 2058) +++ trunk/policycoreutils/po/hr.po 2006-10-17 15:44:41 UTC (rev 2059) @@ -1,8 +1,3 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# msgid "" msgstr "" "Project-Id-Version: policycoreutils\n" Modified: trunk/policycoreutils/po/hu.po =================================================================== --- trunk/policycoreutils/po/hu.po 2006-10-17 15:12:10 UTC (rev 2058) +++ trunk/policycoreutils/po/hu.po 2006-10-17 15:44:41 UTC (rev 2059) @@ -1,248 +1,253 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# translation of policycoreutils to Hungarian # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# Arpad Biro <bir...@ya...>, 2006. # -#, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: hu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2006-06-29 15:53-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL...@li...>\n" +"PO-Revision-Date: 2006-09-15 17:27+0200\n" +"Last-Translator: Arpad Biro <bir...@ya...>\n" +"Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../load_policy/load_policy.c:22 #, c-format msgid "usage: %s [-bq]\n" -msgstr "" +msgstr "használat: %s [-bq]\n" #: ../load_policy/load_policy.c:66 #, c-format msgid "%s: Can't load policy: %s\n" -msgstr "" +msgstr "%s: szabályzat nem betölthető: %s\n" #: ../newrole/newrole.c:97 #, c-format msgid "Out of memory!\n" -msgstr "" +msgstr "Elfogyott a memória.\n" #: ../newrole/newrole.c:199 ../run_init/run_init.c:126 #, c-format msgid "failed to initialize PAM\n" -msgstr "" +msgstr "nem sikerült inicializálni a PAM-et\n" #: ../newrole/newrole.c:210 #, c-format msgid "failed to set PAM_TTY\n" -msgstr "" +msgstr "nem sikerült beállítani ezt: PAM_TTY\n" #: ../newrole/newrole.c:246 ../run_init/run_init.c:154 msgid "Password:" -msgstr "" +msgstr "Jelszó:" #: ../newrole/newrole.c:281 ../run_init/run_init.c:189 #, c-format msgid "Cannot find your entry in the shadow passwd file.\n" -msgstr "" +msgstr "Az Ön bejegyzése nem található az árnyék-jelszófájlban.\n" #: ../newrole/newrole.c:287 ../run_init/run_init.c:195 #, c-format msgid "getpass cannot open /dev/tty\n" -msgstr "" +msgstr "A getpass nem tudja megnyitni ezt: /dev/tty\n" #: ../newrole/newrole.c:354 #, c-format msgid "Error initing capabilities, aborting.\n" -msgstr "" +msgstr "Hiba a képességek inicializálásakor; megszakítás.\n" #: ../newrole/newrole.c:368 #, c-format msgid "Error dropping capabilities, aborting\n" -msgstr "" +msgstr "Hiba a képességek eldobásakor; megszakítás.\n" #: ../newrole/newrole.c:375 #, c-format msgid "Error changing uid, aborting.\n" -msgstr "" +msgstr "Hiba a uid módosításakor; megszakítás.\n" #: ../newrole/newrole.c:382 #, c-format msgid "Error resetting KEEPCAPS, aborting\n" -msgstr "" +msgstr "Hiba a KEEPCAPS visszaállításakor; megszakítás.\n" #: ../newrole/newrole.c:390 #, c-format msgid "Error dropping SETUID capability, aborting\n" -msgstr "" +msgstr "Hiba a SETUID képesség eldobásakor; megszakítás.\n" #: ../newrole/newrole.c:463 #, c-format msgid "Sorry, newrole may be used only on a SELinux kernel.\n" -msgstr "" +msgstr "A newrole funkció csak SELinux-kernelen használható.\n" #: ../newrole/newrole.c:468 #, c-format msgid "Could not determine enforcing mode.\n" -msgstr "" +msgstr "Nem sikerült meghatározni a kikényszerítési módot.\n" #: ../newrole/newrole.c:488 #, c-format msgid "Error: multiple roles specified\n" -msgstr "" +msgstr "Hiba: több szerep lett megadva\n" #: ../newrole/newrole.c:498 #, c-format msgid "Error: multiple types specified\n" -msgstr "" +msgstr "Hiba: több típus lett megadva\n" #: ../newrole/newrole.c:508 #, c-format msgid "Sorry, -l may be used with SELinux MLS support.\n" -msgstr "" +msgstr "A -l használata SELinux MLS-támogatás esetén lehetséges.\n" #: ../newrole/newrole.c:515 #, c-format msgid "Error: multiple levels specified\n" -msgstr "" +msgstr "Hiba: több szint lett megadva\n" #: ../newrole/newrole.c:537 #, c-format msgid "Couldn't get default type.\n" -msgstr "" +msgstr "Nem sikerült meghatározni az alapértelmezett típust.\n" #: ../newrole/newrole.c:559 #, c-format msgid "failed to get old_context.\n" -msgstr "" +msgstr "Nem sikerült meghatározni a régi kontextust.\n" #: ../newrole/newrole.c:572 #, c-format msgid "failed to get new context.\n" -msgstr "" +msgstr "Nem sikerült meghatározni az új kontextust.\n" #: ../newrole/newrole.c:596 #, c-format msgid "cannot find your entry in the passwd file.\n" -msgstr "" +msgstr "Az Ön bejegyzése nem található a jelszófájlban.\n" #: ../newrole/newrole.c:606 #, c-format msgid "Error! Shell is not valid.\n" -msgstr "" +msgstr "Hiba: a parancsértelmező érvénytelen.\n" #: ../newrole/newrole.c:614 #, c-format msgid "Error! Could not retrieve tty information.\n" -msgstr "" +msgstr "Hiba: nem sikerült lekérdezni a tty-információkat.\n" #: ../newrole/newrole.c:618 #, c-format msgid "Authenticating %s.\n" -msgstr "" +msgstr "%s azonosítása.\n" #: ../newrole/newrole.c:632 #, c-format msgid "newrole: incorrect password for %s\n" -msgstr "" +msgstr "newrole: helytelen jelszó ehhez a felhasználóhoz: %s\n" #: ../newrole/newrole.c:657 #, c-format msgid "failed to set new role %s\n" -msgstr "" +msgstr "nem sikerült beállítani ezt az új szerepet: %s\n" #: ../newrole/newrole.c:671 #, c-format msgid "failed to set new type %s\n" -msgstr "" +msgstr "nem sikerült beállítani ezt az új típust: %s\n" #: ../newrole/newrole.c:688 #, c-format msgid "failed to build new range with level %s\n" -msgstr "" +msgstr "nem sikerült új tartományt készíteni ezzel a szinttel: %s\n" #: ../newrole/newrole.c:693 #, c-format msgid "failed to set new range %s\n" -msgstr "" +msgstr "nem sikerült beállítani ezt az új tartományt: %s\n" #: ../newrole/newrole.c:708 #, c-format msgid "failed to convert new context to string\n" -msgstr "" +msgstr "nem sikerült szöveggé alakítani az új kontextust\n" #: ../newrole/newrole.c:717 #, c-format msgid "%s is not a valid context\n" -msgstr "" +msgstr "%s nem egy érvényes kontextus\n" #: ../newrole/newrole.c:730 #, c-format msgid "Error! Could not open %s.\n" -msgstr "" +msgstr "Hiba: nem lehet megnyitni ezt: %s.\n" #: ../newrole/newrole.c:738 #, c-format msgid "%s! Could not get current context for %s, not relabeling tty.\n" msgstr "" +"%s: nem sikerült meghatározni a jelenlegi kontextust ehhez: %s - a tty nem lesz " +"újracímkézve.\n" #: ../newrole/newrole.c:757 #, c-format msgid "%s! Could not get new context for %s, not relabeling tty.\n" msgstr "" +"%s: nem sikerült meghatározni az új kontextust ehhez: %s - a tty nem lesz " +"újracímkézve.\n" #: ../newrole/newrole.c:771 #, c-format msgid "%s! Coul... [truncated message content] |
From: <ssm...@us...> - 2006-10-17 15:12:22
|
Revision: 2058 http://svn.sourceforge.net/selinux/?rev=2058&view=rev Author: ssmalley Date: 2006-10-17 08:12:10 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Create tag for policycoreutils 1.30.31 Added Paths: ----------- tags/policycoreutils_1_30_31/policycoreutils/ Copied: tags/policycoreutils_1_30_31/policycoreutils (from rev 2057, trunk/policycoreutils) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 15:11:52
|
Revision: 2057 http://svn.sourceforge.net/selinux/?rev=2057&view=rev Author: ssmalley Date: 2006-10-17 08:11:40 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Create tag for policycoreutils 1.30.31 Added Paths: ----------- tags/policycoreutils_1_30_31/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 15:10:12
|
Revision: 2056 http://svn.sourceforge.net/selinux/?rev=2056&view=rev Author: ssmalley Date: 2006-10-17 08:10:06 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Bump version Modified Paths: -------------- trunk/policycoreutils/ChangeLog trunk/policycoreutils/VERSION Modified: trunk/policycoreutils/ChangeLog =================================================================== --- trunk/policycoreutils/ChangeLog 2006-10-17 15:03:32 UTC (rev 2055) +++ trunk/policycoreutils/ChangeLog 2006-10-17 15:10:06 UTC (rev 2056) @@ -1,3 +1,9 @@ +1.30.31 2006-10-17 + * Merged audit2allow -l fix from Yuichi Nakamura. + * Merged restorecon -i and -o - support from Karl MacMillan. + * Merged semanage/seobject fix from Dan Walsh. + * Merged fixfiles -R and verify changes from Dan Walsh. + 1.30.30 2006-09-29 * Merged newrole auditing of failures due to user actions from Michael Thompson. Modified: trunk/policycoreutils/VERSION =================================================================== --- trunk/policycoreutils/VERSION 2006-10-17 15:03:32 UTC (rev 2055) +++ trunk/policycoreutils/VERSION 2006-10-17 15:10:06 UTC (rev 2056) @@ -1 +1 @@ -1.30.30 +1.30.31 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 15:03:44
|
Revision: 2055 http://svn.sourceforge.net/selinux/?rev=2055&view=rev Author: ssmalley Date: 2006-10-17 08:03:32 -0700 (Tue, 17 Oct 2006) Log Message: ----------- From: Dan Walsh <dw...@re...> Subject: New policycoreutils patch Extract fixfiles diff from Fedora policycoreutils-rhat.patch. This one changes fixfiles -R to use the new -i option for restorecon to ignore non-existent files, removes the use of -R to restorecon (don't perform recursive descent on entries returned by rpmlist), protects $RPMFILES with quotes, and adds a verify command to apply restorecon -n -o -. Modified Paths: -------------- trunk/policycoreutils/scripts/fixfiles trunk/policycoreutils/scripts/fixfiles.8 Modified: trunk/policycoreutils/scripts/fixfiles =================================================================== --- trunk/policycoreutils/scripts/fixfiles 2006-10-17 15:00:45 UTC (rev 2054) +++ trunk/policycoreutils/scripts/fixfiles 2006-10-17 15:03:32 UTC (rev 2055) @@ -117,8 +117,8 @@ exit $? fi if [ ! -z "$RPMFILES" ]; then - for i in `echo $RPMFILES | sed 's/,/ /g'`; do - rpmlist $i | ${RESTORECON} ${OUTFILES} ${FORCEFLAG} -R $* -f - 2>&1 >> $LOGFILE + for i in `echo "$RPMFILES" | sed 's/,/ /g'`; do + rpmlist $i | ${RESTORECON} ${OUTFILES} ${FORCEFLAG} $* -i -f - 2>&1 >> $LOGFILE done exit $? fi @@ -219,7 +219,7 @@ # check if they specified both DIRS and RPMFILES # -if [ ! -z $RPMFILES ]; then +if [ ! -z "$RPMFILES" ]; then if [ $OPTIND -le $# ]; then usage fi @@ -236,6 +236,7 @@ case "$command" in restore) restore -p ;; check) restore -n -v ;; + verify) restore -n -o -;; relabel) relabel;; *) usage Modified: trunk/policycoreutils/scripts/fixfiles.8 =================================================================== --- trunk/policycoreutils/scripts/fixfiles.8 2006-10-17 15:00:45 UTC (rev 2054) +++ trunk/policycoreutils/scripts/fixfiles.8 2006-10-17 15:03:32 UTC (rev 2055) @@ -3,9 +3,9 @@ fixfiles \- fix file security contexts. .SH "SYNOPSIS" -.B fixfiles [-F] [ -R rpmpackagename[,rpmpackagename...] ] [ -C PREVIOUS_FILECONTEXT ] [-l logfile ] [-o outputfile ] { check | restore | [-F] relabel }" +.B fixfiles [-F] [ -R rpmpackagename[,rpmpackagename...] ] [ -C PREVIOUS_FILECONTEXT ] [-l logfile ] [-o outputfile ] { check | restore | [-F] relabel | verify }" -.B fixfiles [-F] [-l logfile ] [-o outputfile ] { check | restore|[-f] relabel } [[dir/file] ... ] +.B fixfiles [-F] [-l logfile ] [-o outputfile ] { check | restore|[-f] relabel | verify } [[dir/file] ... ] .SH "DESCRIPTION" This manual page describes the @@ -48,7 +48,7 @@ One of: .TP .B check -show any incorrect file context labels but do not change them. +print any incorrect file context labels, showing old and new context, but do not change them. .TP .B restore change any incorrect file context labels. @@ -56,6 +56,9 @@ .B relabel Prompt for removal of contents of /tmp directory and then change any inccorect file context labels to match the install file_contexts file. .TP +.B verify +List out files with incorrect file context labels, but do not change them. +.TP .B [[dir/file] ... ] List of files or directories trees that you wish to check file context on. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 15:00:52
|
Revision: 2054 http://svn.sourceforge.net/selinux/?rev=2054&view=rev Author: ssmalley Date: 2006-10-17 08:00:45 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Extract bug fix from Fedora policycoreutils-rhat.patch for semanage. This one initializes oldserange so that it is defined in the exception handler. Modified Paths: -------------- trunk/policycoreutils/semanage/seobject.py Modified: trunk/policycoreutils/semanage/seobject.py =================================================================== --- trunk/policycoreutils/semanage/seobject.py 2006-10-17 14:52:48 UTC (rev 2053) +++ trunk/policycoreutils/semanage/seobject.py 2006-10-17 15:00:45 UTC (rev 2054) @@ -486,6 +486,7 @@ def modify(self, name, roles = [], selevel = "", serange = "", prefix = ""): oldroles = "" + oldserange = "" newroles = string.join(roles, ' '); try: if prefix == "" and len(roles) == 0 and serange == "" and selevel == "": This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 14:53:05
|
Revision: 2053 http://svn.sourceforge.net/selinux/?rev=2053&view=rev Author: ssmalley Date: 2006-10-17 07:52:48 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Author: Caleb Case Email: cc...@tr... Subject: removal of unused private.h from libsemanage Date: Thu, 5 Oct 2006 14:56:43 -0400 The header libsemanage/src/private.h is no longer used and should be removed. It appears to be left over from the libsemod days. Signed-off-by: Joshua Brindle <jbr...@tr...> Acked-by: Stephen Smalley <sd...@ty...> Removed Paths: ------------- trunk/libsemanage/src/private.h Deleted: trunk/libsemanage/src/private.h =================================================================== --- trunk/libsemanage/src/private.h 2006-10-17 14:31:08 UTC (rev 2052) +++ trunk/libsemanage/src/private.h 2006-10-17 14:52:48 UTC (rev 2053) @@ -1,72 +0,0 @@ -/* Private definitions for libsemod. */ - -/* Endian conversion for reading and writing binary policies */ - -#include <byteswap.h> -#include <endian.h> - -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define cpu_to_le32(x) (x) -#define le32_to_cpu(x) (x) -#define cpu_to_le64(x) (x) -#define le64_to_cpu(x) (x) -#else -#define cpu_to_le32(x) bswap_32(x) -#define le32_to_cpu(x) bswap_32(x) -#define cpu_to_le64(x) bswap_64(x) -#define le64_to_cpu(x) bswap_64(x) -#endif - -/* Read from a policy "file" and return a pointer to the requested set - of bytes. Do *NOT* free the returned pointer. Returns NULL if the - requested number of bytes is larger than the read buffer or if an - I/O error occurred. Note that this function is thread-safe. */ -static inline void *next_entry(struct policy_file *fp, size_t bytes) -{ - size_t nread; - - if (bytes > sizeof(fp->buffer)) - return NULL; - - switch (fp->type) { - case PF_USE_STDIO: - nread = fread(fp->buffer, bytes, 1, fp->fp); - if (nread != 1) - return NULL; - break; - case PF_USE_MEMORY: - if (bytes > fp->len) - return NULL; - memcpy(fp->buffer, fp->data, bytes); - fp->data += bytes; - fp->len -= bytes; - break; - default: - return NULL; - } - return fp->buffer; -} - -static inline size_t put_entry(const void *ptr, size_t size, size_t n, - struct policy_file *fp) -{ - size_t bytes = size * n; - - switch (fp->type) { - case PF_USE_STDIO: - return fwrite(ptr, size, n, fp->fp); - case PF_USE_MEMORY: - if (bytes > fp->len) { - errno = ENOSPC; - return 0; - } - - memcpy(fp->data, ptr, bytes); - fp->data += bytes; - fp->len -= bytes; - return n; - default: - return 0; - } - return 0; -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ssm...@us...> - 2006-10-17 14:31:16
|
Revision: 2052 http://svn.sourceforge.net/selinux/?rev=2052&view=rev Author: ssmalley Date: 2006-10-17 07:31:08 -0700 (Tue, 17 Oct 2006) Log Message: ----------- Author: Karl MacMillan Email: kma...@me... Subject: Reworked patch for restorecon Date: Fri, 06 Oct 2006 18:09:53 -0400 This patch makes the following changes to restorecon: -i flag to tell restorecon to ignore missing files -o now takes "-" to allow it to output file list to stdout Check to make sure restorecon has at least one input file This patch is based on Dan's patch from Sep. 26 but only includes the restorecon changes (see http://marc.theaimsgroup.com/?l=selinux&m=115928447719072&w=2). Please apply. [drop change_ctr changes: sd...@ty...> Signed-off-by: Karl MacMillan <kma...@me...> Acked-by: Stephen Smalley <sd...@ty...> Modified Paths: -------------- trunk/policycoreutils/restorecon/restorecon.8 trunk/policycoreutils/restorecon/restorecon.c Modified: trunk/policycoreutils/restorecon/restorecon.8 =================================================================== --- trunk/policycoreutils/restorecon/restorecon.8 2006-10-17 14:22:47 UTC (rev 2051) +++ trunk/policycoreutils/restorecon/restorecon.8 2006-10-17 14:31:08 UTC (rev 2052) @@ -23,6 +23,9 @@ .SH "OPTIONS" .TP +.B \-i +ignore files that do not exist +.TP .B \-f infilename infilename contains a list of files to be processed by application. Use \- for stdin. .TP Modified: trunk/policycoreutils/restorecon/restorecon.c =================================================================== --- trunk/policycoreutils/restorecon/restorecon.c 2006-10-17 14:22:47 UTC (rev 2051) +++ trunk/policycoreutils/restorecon/restorecon.c 2006-10-17 14:31:08 UTC (rev 2052) @@ -11,9 +11,10 @@ * restorecon [-Rnv] pathname... * * -e Specify directory to exclude + * -i Ignore error if file does not exist * -n Do not change any file labels. * -v Show changes in file labels. - * -o filename save list of files with incorrect context + * -o filename save list of files with incorrect context * -F Force reset of context to match file_context for customizable files * * pathname... The file(s) to label @@ -47,6 +48,7 @@ static char *progname; static int errors = 0; static int recurse = 0; +static int file_exist = 1; static int force = 0; #define STAT_BLOCK_SIZE 1 static int pipe_fds[2] = { -1, -1 }; @@ -62,6 +64,7 @@ static int add_exclude(const char *directory) { struct stat sb; + size_t len = 0; if (directory == NULL || directory[0] != '/') { fprintf(stderr, "Full path required for exclude: %s.\n", directory); @@ -85,12 +88,17 @@ return 1; } - excludeArray[excludeCtr].directory = strdup(directory); - if (!excludeArray[excludeCtr].directory) { + len = strlen(directory); + while (len > 1 && directory[len - 1] == '/') { + len--; + } + excludeArray[excludeCtr].directory = strndup(directory, len); + + if (excludeArray[excludeCtr].directory == NULL) { fprintf(stderr, "Out of memory.\n"); return 1; } - excludeArray[excludeCtr++].size = strlen(directory); + excludeArray[excludeCtr++].size = len; return 0; } @@ -129,7 +137,7 @@ void usage(const char *const name) { fprintf(stderr, - "usage: %s [-FnrRv] [-e excludedir ] [-o filename ] [-f filename | pathname... ]\n", + "usage: %s [-iFnrRv] [-e excludedir ] [-o filename ] [-f filename | pathname... ]\n", name); exit(1); } @@ -160,6 +168,8 @@ } if (lstat(filename, &st) != 0) { + if (!file_exist && errno == ENOENT) + return 0; fprintf(stderr, "lstat(%s) failed: %s\n", filename, strerror(errno)); return 1; @@ -249,7 +259,8 @@ freecon(scontext); return 1; } - } + } + if (verbose) printf("%s reset %s context %s->%s\n", progname, filename, @@ -322,6 +333,8 @@ close(pipe_fds[1]); if (rc == -1 || rc > 0) { if (nftw(buf, apply_spec, 1024, FTW_PHYS)) { + if (!file_exist && errno == ENOENT) + return; fprintf(stderr, "%s: error while labeling files under %s\n", progname, buf); @@ -351,13 +364,17 @@ progname = argv[0]; if (is_selinux_enabled() <= 0) exit(0); + set_matchpathcon_flags(MATCHPATHCON_NOTRANS); - while ((opt = getopt(argc, argv, "pFrRnvf:o:e:")) > 0) { + while ((opt = getopt(argc, argv, "ipFrRnvf:o:e:")) > 0) { switch (opt) { case 'n': change = 0; break; + case 'i': + file_exist = 0; + break; case 'r': case 'R': recurse = 1; @@ -370,13 +387,18 @@ exit(1); break; case 'o': - outfile = fopen(optarg, "w"); - if (!outfile) { - fprintf(stderr, "Error opening %s: %s\n", - optarg, strerror(errno)); - usage(argv[0]); + if (strcmp(optarg, "-") == 0) + outfile = stdout; + else { + outfile = fopen(optarg, "w"); + if (!outfile) { + fprintf(stderr, + "Error opening %s: %s\n", + optarg, strerror(errno)); + usage(argv[0]); + } + __fsetlocking(outfile, FSETLOCKING_BYCALLER); } - __fsetlocking(outfile, FSETLOCKING_BYCALLER); break; case 'v': if (progress) { @@ -421,6 +443,8 @@ if (strcmp(file_name, "-") != 0) fclose(f); } else { + if (optind >= argc) + usage(argv[0]); for (i = optind; i < argc; i++) { process(argv[i]); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |