SETools 3.3.6: This release builds upon SETools 3.3.5: * Update attribute handling to use attributes in version 24 policy. * Fix bug where dontaudit rules were loaded when the "no rules" option is enabled. seaudit: * Add MLS fields to source and target contexts. * Double clicking a message line will display the orignal log message. seinfo: * Qdd query for permissive types. * Add query for policy capabilities. ================================================== SETools 3.3.5: This release builds upon SETools 3.3.4: * Update to policy loader to match checkpolicy 2.0.16 and libsepol 2.0.32. * Changes to libqpol to allow compiling against libsepol >= 2.0.29. * Support for reading policy version 23. ================================================== SETools 3.3.4: This release builds upon SETools 3.3.3: * Update to policy loader to match checkpolicy 2.0.13 and libsepol 2.0.23. * Fixes to apol for proper handling of Tk 8.5. * Fixes to libapol, libqpol, and sechecker to build using GCC 4.3. ================================================== SETools 3.3.3: This release builds upon SETools 3.3.2: * Changes to libqpol to allow compiling against libsepol >= 2.0.20. * Support for reading policy version 22. * Clarification to default policy loading for seinfo, sesearch, and sechecker. * Build scripts for Debian and Ubuntu. ================================================== SETools 3.3.2: This release corrects a number of issues present in SETools 3.3.1: * Fix to libqpol for policies lacking genfscon statements; for policies containing disabled aliases; for qpol_type_get_alias_iter() given certain policies; for the special role object_r. * Fix to libapol when running a default avrule query on policies that have not had their neverallow rules loaded. * Fix to libsefs and apol for invalid regular expressions. * Fix to apol when validating empty levels. * Fix to all SWIG generated wrappers for Java. ================================================== SETools 3.3.1: This release corrects a number of issues present in SETools 3.3: * Fix to configure when Tcl is not found on build system; fix when compiling with --disable-gui option. * Fix to uninstall targets of Java wrappers. * Fix to libapol where transitive flows could return results that were supposed to be excluded; fixed memory leaks in infoflow graph generation. * Fix to libsefs when running MLS query on non-MLS fclists. * Fix to apol when reading older .apol files; fix copy and select all on certain tabs; fix to filter by attribute on some advanced dialogs. ================================================== SETools 3.3: SETools: * SETools now has an external dependency upon libsqlite3 >= 3.2. The supplied configure script will enforce this dependency. * pkg-config scripts are installed with the SETools libraries. libsefs: * Rewrite of library to have proper namespaces and much more usable object-oriented design. * SWIG wrappers generated for this library if the appropriate configure flags are set. findcon, searchcon: * Merge searchcon's functionality into findcon. The searchcon tool has been removed from SETools. indexcon, replcon: * Updated to use new libsefs design. apol: * Updated to use new libsefs design. * Modified to use the SWIG Tcl interface rather than a custom C library. apol is now a combination of a Tcl script (simply called 'apol') and associated packages that are required at runtime. * Neverallow rules are only loaded and expanded when the user performs a search for them. This will dramatically speed up initial policy load time. awish: * awish is no longer needed and thus has been removed from SETools. sediff, sediffx: * Instead of differentiating "AV rules" or "TE rules", user now specifies which particular rule to compare (allow, dontaudit, type_transition, etc.). * Neverallow rules are only loaded and expanded when the user performs a diff upon them. This will dramatically speed up initial policy load time. ================================================== SETools 3.2: libapol, libqpol, libesaudit, libpoldiff: * If --enable-swig-python is given during configure time, the build system will create Python SWIG wrappers for these libraries. * If --enable-swig-java is given during configure time, the build system will create Java SWIG wrappers for these libraries. libpoldiff: * Provides ability to diff levels, categories, and range_transition statements. Provides ability to diff modifications to a user's default level and permitted MLS range, assuming the policies are MLS. apol, seaudit, sediffx: * Introduces 'policy list', a small text file that contains references to a base policy and any number of modules. After selecting the base policy and modules in a tool's open policy dialog, click on 'Export' to write a policy list to disk. That policy list then may be imported into the same tool or any other graphical SETools application. This file also may be specified on the command line for all tools that load a policy. sesearch, apol: * Provides full support for version 21 policy (i.e., object classes for range_transition statements). sediff: * Shows MLS diffs. sediffx: * Shows MLS diffs. * Provides option to show line numbers that contributed just to a specific AV rule's permission by clicking that AV rule's permissions. This is in addition to existing sediffx behavior that showed all lines associated with a particular rule difference. * Provides support for type joins and splits within the type remap dialog. ================================================== SETools 3.1: SETools: * All tools that open a policy now support loadable policy modules. Command line tools expect the first module to be a base module followed optionally by any other modules. Graphical tools have a new open policy dialog to select a base module and any number of additional modules. * Release of RPM packages that are compatible with Fedora Core 5 and 6. The spec and support files are in packages/rpm. libapol: * New class apol_policy_path_t to represent a base policy and any number of modules. Use this whenever referring to the file or files constituting a policy. libqpol: * Policy features such as attribute names or MLS can now be queried individally via qpol_policy_has_capability() rather than inferred by policy type and version. * New class qpol_module_t to represent a particular policy module prior to it being linked into a base policy (qpol_policy_t). libseaudit: * Rewrite of library to have proper namespaces. libseaudit is now fully documented and suitable for third-party users. seaudit: * Rewrite to use new libseaudit. * Numerous tweaks to the interface to be more user friendly. seaudit-report: * Rewrite to use new libseaudit. sediffx: * Numerous tweaks to the interface to be more user friendly. ================================================== SETools 3.0.1 SETools: * All code has been indented uniformly via the 'make indent' target. SETools libraries: * All libraries now have a get_version() function. libqpol: * Syntactic rule table is now off by default; it requires an explicit call to qpol_policy_build_syn_rule_table() to create it. libapol: * apol_policy_t is now an opaque structure. apol_permmap_t is no longer a public declaration. * avrule and terule queries now have full "syntactic" searching features. apol & sesearch: * If loaded policy is source, the new syntactic search algorithm is used. ================================================== SETools 3.0 SETools: * Moved entire project to autoconf build system. This will detect dependencies correctly and make it easier to integrate with Linux distributions and their packaging systems. SETools libraries: * Rewrite of back-end of SETools to use libsepol data structures. Most things should run notably faster. * All exported library functions have a standardized naming convention and are fully documented. This will prove helpful for third-party developers integrating SETools into their own projects. * For policies version 15 or greater, domain transition analysis now takes into consideration setexec permission and/or type_transition rules. apol: * Rework Tk interface to fit on 1024x768 displays. * Indirect matching of attributes now works with rule searches. sediff: * New diffing algorithm yields significant speed improvements. * Can now diff neverallow and role_transition statements. * Streamlined results display - should be easier to read. sechecker: * Updated module format and template for ease of extension. ======================================================= May 1, 2006, Version 2.4 apol: File contexts tab now allows for MLS range searching if the loaded database is from a MLS filesystem. Policy statistics dialog now shows MLS and ocontexts summaries. libapol: Added support for loading base policies containing optionals. Added support for searching range transitions containing attributes. libseaudit: Bugfix to support parsing FC5-style audit logs. seaudit: Added date filters. secmds: Added support to indexcon and searchcon for MLS filesytems. Added support to findcon and replcon for MLS filesystems. sechecker: Added incomplete network access (inc_net_access) module. Added unreachable domains (unreachable_doms) module. Added impossible range transitions (imp_range_trans) module. sesearch: Allow user to search range transitions by attributes and indirect matching. Added RBAC searching. ======================================================= January 23, 2006, Version 2.3 apol: added new MLS components tab for sensitivities, levels, and categories. changed users tab to support ranges and default levels. added range transition tab for searching range transition rules. added new tab for network context components. added new tab for file system context components. libapol: added binpol support for MLS, network contexts, and file system contexts. seinfo: added command line options for MLS components. added command line options for network contexts and file system contexts. sesearch: added command line option for searching for rules by conditional boolean name. seaudit: added new column in the log view for the 'comm' field found in auditd log files. added filters for the 'comm' field and 'message' field. manpages: added manpages for all tools. ======================================================= October 31, 2005, Version 2.2 libapol: replaced the original dta algorithm with a new one to properly support complements in rules. added new structures to support the separation of diff elements. added support for parsing additional policy components in source policies. sediff: enhanced the GUI for display and separation of diff elements. added the ability to rename types. sechecker: added a new tool - a commandline modular and extensible policy checker program seuser: removed - deprecated sepcut: removed - deprecated ======================================================= October 12, 2005 Version 2.1.3 libapol: fixed a mls bug in the source parser. ======================================================= August 24, 2005 Version 2.1.2 apol: created new permission maps for policy versions 19 and 20. also some minor changes to support version 20 binary format. libseaudit: updated the parser to properly parse avc messages from auditd logfiles libapol: updated the binary policy parser to handle the new version 20 avtab format. The parser preserves attributes in av rules by generating fake attribute names. ======================================================= May 17, 2005, Version 2.1.1 libseaudit: updated code to compile with gcc-4.0.0 minor bug fixes sediff: updated code to compile with gcc-4.0.0 seaudit: updated code to compile with gcc-4.0.0 libsefs: updated code to compile with gcc-4.0.0 libapol: updated code to compile with gcc-4.0.0 minor bug fixes seuser: updated code to compile with gcc-4.0.0 ====================================================== April 18, 2005, Version 2.1.0 apol: improved direct relabel analysis algorithm libapol: added policy version 19 support sediff: added role transitions, improved role allow added conditional expression differences ======================================================= February 16, 2005, Version 2.0 setools: libsefs: Converted to use an on-disk SQLite database backend and re-designed API to provide the functionality to other applications, such as apol. libapol: Added support for analyzing direct file relabels. Added support for analyzing relationship between two types. Integrated use of hashtable structures for easily analyzing differences between policies. Minor bug fixes. libseuser: Minor bug fixes. apol: New analysis module for performing direct file relabel analysis. New analysis module for analyzing the relationship be- tween two types. New interface added for viewing file contexts from an SELinux filesystem. Improvements to domain transition analysis interface. Minor bug fixes and GUI tweaks. secmds: Updated indexcon/searchcon to use an on-disk SQLite database in order to decrease memory use. These changes are not backwards-compatible. seaudit: Integrated reporting functionality into GUI. Minor GUI tweaks. sediff: New gtk GUI and command-line tools for analyzing the semantic differences between two policies. The semantic difference of a policy is different from the syntactic difference in that it shows the cumulative effect of rules rather than doing a line-by-line comparison. ======================================================= November 4, 2004, Version 1.5.1 apol: Fixed compatibility with tcl 8.3. libsefs: Fixed compile problem on PPC. secmds: Fixed fatal error in replcon. setools: Reverted to static linking and fixed various small bugs. ======================================================== October 27, 2004, Version 1.5 apol: Advanced options added to forward domain transition analysis module for performing more granular searching of transitions to domains using specified classes, permissions and target types. Minor bug fixes and improvements. libapol: Fixed to handle new libapol user structs. Enhanced forward domain transition analysis to perform more granular searching using specified classes, permissions and target types. Minor bug fixes. libseuser: General clean up of the policy components. Fixed handling of users to be consistent with rest. seaudit: New tool (seaudit-report) for generating customized reports on SE Linux audit messages using saved seaudit view files. This tool is highly configurable and can effectively integrate with the LogWatch application for automating SE Linux audit log reporting. Added feature for exporting audit messages to a file, as well as viewing all components of an audit message within a text view. libseaudit: Updated library to store audit header information, such as the system call timestamp and serial number. Fixed parse errors for new logs. secmds: New tool (indexcon) for creating a snapshot of security contexts for SE Linux filesystem entities. New tool (searchcon) for searching the SE Linux filesystem database that was created using indexcon. ======================================================= July 7, 2004, Version 1.4.1 setools: Added the install target install-dev to install the setools headers and libraries for third party developers (libapol, libseuser, libseaudit). libapol: Added support for parsing policy version 18 (source and binary). Added a permission map for version 18 policies. libseaudit: Fix timezone related bug that resulted in incorrect dates displayed in seaudit. ======================================================= June 2, 2004, Version 1.4 setools: Made policy installation and file labeling a separate makefile target to better support non-default policies like the 'targeted' policy included in Fedora Core 2. apol: Added support for the user to change the name of result tabs. Added new Tool Options dialog for opening limited portions of the selinux policy. GUI changes to correctly support binary policies. Enhanced display of conditional rules in TE rule search results. libapol: Added support for loading binary policy files (in addition to source policy files). Added utility functions for finding default policies - both source and binary. Various cleanups and bug fixes to source policy parsing. secmds: Added conditional policy support to seinfo. Changed to use libapol default policy logic. seaudit: Changed to use libapol default policy logic. Gui changes to correctly support binary policies. libseuser: Changed to use libapol default policy logic. ======================================================= May 5, 2004 Version 1.3.1 apol: Fixed to properly exclude object classes and/or permissions in information flow analysis. libapol: Fixed to properly exclude object classes and/or permissions in information flow analysis. seuser: Changed default policy.conf location in seuser.conf to /etc/security/selinux/src/policy/policy.conf Minor bug fixes. sepcut: Minor bug fixes. libseuser: Minor fixes to parsing of the seuser.conf file. ======================================================= April 15, 2004 Version 1.3 apol: Added conditional policy support. Added permission weighting for information flows. libapol: Added full support for conditional policies. Included support for policy version 17 Various fixes and updates seaudit: Added support for audit messages from changing booleans in a conditional policy. Added multiple filters/views. libseaudit: Updated to support new audit framework in the 2.6.5 kernel. seuser: Added home directory labeling command as command line option. libseuser: Updated to support home directory labeling. secmds: Added new context swap tool (replcon). Added new context search tool (findcon). ======================================================== February 6, 2004 Version 1.2.1 Libapol: Fixed parse error when using attributes in role declarations. ======================================================== February 4, 2004 Version 1.2 Apol: Added saving and loading queries from the TE rules tab. Added a tab for referencing initial SIDs in the policy. Fixed some memory usage problems in information flow. Combined Forward and Reverse domain transitions into one analysis module. Seuser: Some minor changes to command line parsing for better use on non selinux machines. Seaudit: Added real-time log monitoring capability. Added support for hostname recognition in logs. Added ability to select from values that appear in the policy or the log, for filtering. An open policy is no longer needed to filter a log. Libapol: Added support for new policy language features ('-' in lists of types and typealias). Enabled conditional policy (v16) support by default. Added support for parsing and storing initial SIDs. ======================================================== December 30, 2003 Version 1.1.1 libapol: fixed memory leakage on information flow analysis seaudit: fixed to properly compile with ISO C90 standards. libseaudit: fixed to properly compile with ISO C90 standards. seuser: fixed build process to properly build with no GUI. fixed help for 'seuser -X' removed default_context and cron_context in seuser.conf secmds: fixed seinfo to display version information ======================================================== December 18, 2003 Version 1.1 Apol: Significantly improved transitive information flow analysis by allowing for greater control over the types, object classes, and permissions to use in an analysis; as well as the ability to search for multiple paths bounded by number of founds paths and time. Additional work to complete a fully functional transitive flow analysis is planned. Updated to work with restructured libraries Added support for saving and loading analysis queries Additional work to make the fonts and window sizes work better Seuser: Updated to work with restructured libraries. Created separate seuser (no X) and seuserx (X) commands Secmds: NEW Added new command line tools: seinfo: displays information--including expanded information--about the components of a policy (classes, types, attributes, users, roles), as well as policy stats sesearch: searches and displays type enforcement rules based on criteria such as source and target type, object class, permissions, and rule type seaudit: NEW Added a new GUI-based audit log analysis tool. The tool allows one to view and search SE Linux messages from a log file and to analyze the policy for rules that relate to a given audit message. This is a first generation tool, and real-time monitoring of the audit messages is planned. libseaudit: NEW Includes library to parse and store SE Linux audit messages. Libapol: Added latent support to parse future conditional policy syntax Restructured library to separate core functions from TCL/TK/X support functions (to allow non-X commands). There are now libapol and libapol-tcl libraries. Removed "dead" code and various bug fixes and clean up Improved transitive information flow analysis. Libseuser: Restructured library to separate core functions from TCL/TK/X support functions (to allow non-X commands). There are now libseuser and libseuser-tcl libraries. ======================================================== October 30, 2003 SE Linux Tools, version 1.0.1 Apol: Update to default font configuration Sepcut: Update to default font configuration Seuser: Updated seuser .te file Update seuser Makefile to use -Z option when installing seuser Update to default font configuration Libapol: Minor fix to support Tcl 8.4 interface ======================================================== September 22, 2003 SE Linux Tools, version 1.0 Added BWidgets source under packages. Added support for rpm packages. Apol: Added reverse domain transition analysis. Added direct information flow analysis. Added an experimental transitive information flow analysis. Added permap loading/editing/saving support (required by information flow analyses). Fixed various bugs. Sepcut: Added 'Relabel Files' button in the test policy tab. Fixed various bugs. Seuser: Fixed forward and backward compatibility in the use of system user administration utilities (i.e., old versions of SELinux use suseradd, new versions use useradd). Changed shell scripts to fix compatibility. Libapol: Fixed type alias support. Added support for policy version 15. Added direct information flow analysis capabilities. Added partial transitive information flow analysis capabilities. Added reverse domain transition analysis capabilities. Added permap support. Fixed various bugs. ======================================================== June 9, 2003 SE Linux Tools, Release 20030609 Apol: Simplified the user interface by consolidating tabs. Various bug fixes and clean up Sepcut: Added feature to track recently opened policy dirs Added feature to allow one to save policy module configurations so that one policy directory may be use for multiple configurations. Added feature to allow individual user ability to control tool global settings Enhanced tools ability to stay in sync with on disk view Various minor fixes and code clean up Seuser: Various bug fixes and general clean up Libapol: Fixed various bugs. ======================================================== April 10, 2003 SE Linux Tools, Version 0.8 Apol: Added Analysis tab for new domain transition analysis capability. Changed compile process to install just a single, compressed .tcl file Fixed problems with fonts. Sepcut: Added support for older policy directories (customize tab will disable if domains/program doesn't exist) Minor fixes Seuser: Significantly changed command line options. Added rename, show, and load commands. Added -X, -f, and -R flags. Made loading policy the default and replaced -L with -N flag. Removed -g and -r flags. Added seuseradd, seuserdel, and seusermod scripts as shell wrappers for the s* equivalent wrappers that also call seuser as necessary to provide single command-line interface to manage users Completely replaced the graphical user interface (GUI) that supports a single interface to manage both system and selinux user issues Removed support for old-style default context management. Libapol: Added extensions to support new domain transition analysis Fix various problems with handling '*' in TE rules Remove the OBJ_CLASSES_PERMS compile flag and the associated old dead code. Added command to get types for a given attribute as a list Began restructuring the rule rendering code. Fixed some memory leaks Various bug fixes, clean up, and restructuring Libseuser: Added commands to get system groups Modified command that returns system users to also identify user type. Added several new command support wrap functions to support new command line interface. Various bug fixes. ======================================================== February 27, 2003 SE Linux Tools, Version 0.7 Enhanced SepCut: Added text search feature Added ability to include a policy directory path on command line Added ability to view all unsaved, modified files in various dialogs Fixed various bugs Apol updates: Added a policy.conf tab with search ability Added hyperlinks between TE rules and policy conf allowing one to look up where in policy.conf where a given rule came from Added basic ability to recognize roles declared via dominance statement (semantics of statement still to be done) Fixed various bugs Libapol: Updated to support apol hyperlinking. Minor bugs Seuser: Updated seuser .te file to fix policy dependencies ======================================================== January 09, 2002 SE Linux Tools, Version 0.6.1 Updated install process to allow setools to be installed during initial selinux system install Fixed various problems with seuser's policy .te and .fc files (Wayne Salamon, wsalamon@tislabs.com) Fixed way sepcut handle temporary files to accommodate policy fixes ========================================================= December 18, 2002 SE Linux Tools, Version 0.6 Created SePCuT: SE Linux Policy Customization Tool a first generation GUI policy customization/editing/testing tool Update libapol: Added regular expression searches to types/attribs, TE rules, objects Cleaned up the policy version hints support Tested with MLS enabled and added a compile option Updated apol: Changes to accommodate regex searches Made displays read only Various minor GUI improvements and bug fixes Updated libseuser: Added checks and support for new login context style (support both old and new style) Added buffer overflow checks Updates seuser: Supports old and new login context styles Better error checking for command line interface =============================================================== September 21, 2002 SE Linux Tools, Version 0.5 Updated libapol: Added object classes and permissions to lib Added avl-tree based sorting (~40% improvement in load time) various minor bugs Updated apol: Added object classes and permissions tab Added object classes and permissions as TE rule search options Added multiple results tabs for type enforcement rule searches Added a recent files menu to the File menu Various minor fixes Updated libseuser: Added non-TCL/TK wrappers for C programs (to support command line seuser) Updated seuser: Added command line version and options Misc: General clean up Improved string buffer overflow validation ================================================================= August 1, 2002 SELinux Tools, Version 0.4.2 Updated libapol: Updated policy parsing to work with July 2002 policy syntax changes Added backward compatibility with older policies Added policy version checking Replaced notify with dontaudit Added new generalized filesystem syntax Added latent structures for object classes and permissions Updated apol: Updated GUI to reflect libapol changes Added dontaudit rule selector Made several font fixes Added policy version indicators Various minor GUI fixes Updated seuser: Added a policy for seuser tool itself Various GUI updates and bug fixes Compatibility updates