Add alias support to seinfo -t
This commit is contained in:
		
							parent
							
								
									87688b7eb6
								
							
						
					
					
						commit
						87ef079e2e
					
				
							
								
								
									
										82
									
								
								0015-aliases.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								0015-aliases.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,82 @@ | |||||||
|  | diff -up setools-3.3.7/libapol/src/policy-query.c~ setools-3.3.7/libapol/src/policy-query.c
 | ||||||
|  | diff -up setools-3.3.7/libqpol/include/qpol/type_query.h~ setools-3.3.7/libqpol/include/qpol/type_query.h
 | ||||||
|  | diff -up setools-3.3.7/libqpol/tests/iterators-tests.c~ setools-3.3.7/libqpol/tests/iterators-tests.c
 | ||||||
|  | diff -up setools-3.3.7/secmds/seinfo.c~ setools-3.3.7/secmds/seinfo.c
 | ||||||
|  | --- setools-3.3.7/secmds/seinfo.c~	2013-03-25 11:30:23.161633059 -0400
 | ||||||
|  | +++ setools-3.3.7/secmds/seinfo.c	2013-03-28 13:08:07.281751011 -0400
 | ||||||
|  | @@ -46,6 +46,7 @@
 | ||||||
|  |  #include <string.h> | ||||||
|  |  #include <assert.h> | ||||||
|  |  #include <getopt.h> | ||||||
|  | +#include <selinux/selinux.h>
 | ||||||
|  |   | ||||||
|  |  #define COPYRIGHT_INFO "Copyright (C) 2003-2007 Tresys Technology, LLC" | ||||||
|  |   | ||||||
|  | @@ -54,6 +55,7 @@
 | ||||||
|  |   | ||||||
|  |  static char *policy_file = NULL; | ||||||
|  |   | ||||||
|  | +static void print_type_aliases(FILE * fp, const qpol_type_t * type_datum, const apol_policy_t * policydb);
 | ||||||
|  |  static void print_type_attrs(FILE * fp, const qpol_type_t * type_datum, const apol_policy_t * policydb, const int expand); | ||||||
|  |  static void print_attr_types(FILE * fp, const qpol_type_t * type_datum, const apol_policy_t * policydb, const int expand); | ||||||
|  |  static void print_user_roles(FILE * fp, const qpol_user_t * user_datum, const apol_policy_t * policydb, const int expand); | ||||||
|  | @@ -511,6 +513,7 @@ static int print_types(FILE * fp, const
 | ||||||
|  |  		if (qpol_policy_get_type_by_name(q, name, &type_datum)) | ||||||
|  |  			goto cleanup; | ||||||
|  |  		print_type_attrs(fp, type_datum, policydb, expand); | ||||||
|  | +		print_type_aliases(fp, type_datum, policydb);
 | ||||||
|  |  	} else { | ||||||
|  |  		if (qpol_policy_get_type_iter(q, &iter)) | ||||||
|  |  			goto cleanup; | ||||||
|  | @@ -1897,6 +1900,51 @@ int main(int argc, char **argv)
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  /** | ||||||
|  | + * Prints the alias of a type.
 | ||||||
|  | + *
 | ||||||
|  | + * @param fp Reference to a file to which to print type information
 | ||||||
|  | + * @param type_datum Reference to sepol type_datum
 | ||||||
|  | + * @param policydb Reference to a policy
 | ||||||
|  | + * attributes
 | ||||||
|  | + */
 | ||||||
|  | +static void print_type_aliases(FILE * fp, const qpol_type_t * type_datum, const apol_policy_t * policydb)
 | ||||||
|  | +{
 | ||||||
|  | +	qpol_iterator_t *iter = NULL;
 | ||||||
|  | +	size_t alias_size;
 | ||||||
|  | +	unsigned char isattr, isalias;
 | ||||||
|  | +	const char *type_name = NULL;
 | ||||||
|  | +	const char *alias_name;
 | ||||||
|  | +	qpol_policy_t *q = apol_policy_get_qpol(policydb);
 | ||||||
|  | +
 | ||||||
|  | +	if (qpol_type_get_name(q, type_datum, &type_name))
 | ||||||
|  | +		goto cleanup;
 | ||||||
|  | +	if (qpol_type_get_isattr(q, type_datum, &isattr))
 | ||||||
|  | +		goto cleanup;
 | ||||||
|  | +	if (qpol_type_get_isalias(q, type_datum, &isalias))
 | ||||||
|  | +		goto cleanup;
 | ||||||
|  | +
 | ||||||
|  | +	if (isalias) {
 | ||||||
|  | +		fprintf(fp, "   TypeName %s\n", type_name);
 | ||||||
|  | +	}
 | ||||||
|  | +	if (qpol_type_get_alias_iter(q, type_datum, &iter))
 | ||||||
|  | +		goto cleanup;
 | ||||||
|  | +	if (qpol_iterator_get_size(iter, &alias_size))
 | ||||||
|  | +		goto cleanup;
 | ||||||
|  | +	if (alias_size >  0) {
 | ||||||
|  | +		fprintf(fp, "   Aliases\n");
 | ||||||
|  | +		for (; !qpol_iterator_end(iter); qpol_iterator_next(iter)) {
 | ||||||
|  | +			if (qpol_iterator_get_item(iter, (void **)&alias_name))
 | ||||||
|  | +				goto cleanup;
 | ||||||
|  | +			fprintf(fp, "      %s\n", alias_name);
 | ||||||
|  | +		}
 | ||||||
|  | +	}
 | ||||||
|  | +
 | ||||||
|  | +      cleanup:
 | ||||||
|  | +	qpol_iterator_destroy(&iter);
 | ||||||
|  | +	return;
 | ||||||
|  | +}
 | ||||||
|  | +
 | ||||||
|  | +/**
 | ||||||
|  |   * Prints a textual representation of a type, and possibly | ||||||
|  |   * all of that type's attributes. | ||||||
|  |   * | ||||||
| @ -3,7 +3,7 @@ | |||||||
| 
 | 
 | ||||||
| Name: setools | Name: setools | ||||||
| Version: %{setools_maj_ver}.%{setools_min_ver} | Version: %{setools_maj_ver}.%{setools_min_ver} | ||||||
| Release: 36%{?dist} | Release: 37%{?dist} | ||||||
| License: GPLv2 | License: GPLv2 | ||||||
| URL: http://oss.tresys.com/projects/setools | URL: http://oss.tresys.com/projects/setools | ||||||
| BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root | ||||||
| @ -24,6 +24,7 @@ Patch11: 0011-setools-noship.patch | |||||||
| Patch12: 0012-seaudit.patch | Patch12: 0012-seaudit.patch | ||||||
| Patch13: 0013-swig.patch | Patch13: 0013-swig.patch | ||||||
| Patch14: 0014-boolsub.patch | Patch14: 0014-boolsub.patch | ||||||
|  | Patch15: 0015-aliases.patch | ||||||
| 
 | 
 | ||||||
| Summary: Policy analysis tools for SELinux | Summary: Policy analysis tools for SELinux | ||||||
| Group: System Environment/Base | Group: System Environment/Base | ||||||
| @ -163,6 +164,7 @@ This package includes the following graphical tools: | |||||||
| %patch12 -p 1 -b .seaudit | %patch12 -p 1 -b .seaudit | ||||||
| %patch13 -p 1 -b .swig | %patch13 -p 1 -b .swig | ||||||
| %patch14 -p 2 -b .boolsub | %patch14 -p 2 -b .boolsub | ||||||
|  | %patch15 -p 1 -b .aliases | ||||||
| %ifarch sparc sparcv9 sparc64 s390 s390x | %ifarch sparc sparcv9 sparc64 s390 s390x | ||||||
|     for file in `find . -name Makefile.am`; do |     for file in `find . -name Makefile.am`; do | ||||||
|         sed -i -e 's:-fpic:-fPIC:' $file; |         sed -i -e 's:-fpic:-fPIC:' $file; | ||||||
| @ -279,6 +281,9 @@ rm -rf ${RPM_BUILD_ROOT} | |||||||
| %postun libs-tcl -p /sbin/ldconfig | %postun libs-tcl -p /sbin/ldconfig | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Mar 28 2013 Dan Walsh <dwalsh@redhat.com> - 3.3.7-37 | ||||||
|  | - Add alias support to seinfo -t | ||||||
|  | 
 | ||||||
| * Fri Mar 15 2013 Dan Walsh <dwalsh@redhat.com> - 3.3.7-36 | * Fri Mar 15 2013 Dan Walsh <dwalsh@redhat.com> - 3.3.7-36 | ||||||
| - Drop support for python bindings | - Drop support for python bindings | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user