0
     ˆÀ¿ƒh¹¾Â      DRIVER=serial
  "   	ˆl–Ým_Jµ!®Å8 CpÜmÅ1hßÀƒ\g¿Ã s    	a
    ¾Ãye¹  ã                   @   s    d Z dZdZdZdZdZdZdS )z?
type TEMPLATETYPE_log_t;
logging_log_file(TEMPLATETYPE_log_t)
a<  
manage_dirs_pattern(TEMPLATETYPE_t, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
manage_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
manage_lnk_files_pattern(TEMPLATETYPE_t, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
logging_log_filetrans(TEMPLATETYPE_t, TEMPLATETYPE_log_t, { dir file lnk_file })
aô  ########################################
## <summary>
##	Read TEMPLATETYPE's log files.
## </summary>
## <param name="domain">
##	<summary>
##	Domain allowed access.
##	</summary>
## </param>
## <rolecap/>
#
interface(`TEMPLATETYPE_read_log',`
	gen_require(`
		type TEMPLATETYPE_log_t;
	')

	logging_search_logs($1)
	read_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
')

########################################
## <summary>
##	Append to TEMPLATETYPE log files.
## </summary>
## <param name="domain">
##	<summary>
##	Domain allowed access.
##	</summary>
## </param>
#
interface(`TEMPLATETYPE_append_log',`
	gen_require(`
		type TEMPLATETYPE_log_t;
	')

	logging_search_logs($1)
	append_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
')

########################################
## <summary>
##	Manage TEMPLATETYPE log files
## </summary>
## <param name="domain">
##	<summary>
##	Domain allowed access.
##	</summary>
## </param>
#
interface(`TEMPLATETYPE_manage_log',`
	gen_require(`
		type TEMPLATETYPE_log_t;
	')

	logging_search_logs($1)
	manage_dirs_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
	manage_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
	manage_lnk_files_pattern($1, TEMPLATETYPE_log_t, TEMPLATETYPE_log_t)
')
z
		type TEMPLATETYPE_log_t;zA
	logging_search_logs($1)
	admin_pattern($1, TEMPLATETYPE_log_t)
zBFILENAME		--	gen_context(system_u:object_r:TEMPLATETYPE_log_t,s0)
zEFILENAME(/.*)?		gen_context(system_u:object_r:TEMPLATETYPE_log_t,s0)
N)Zte_typesZte_rulesZif_rulesZif_admin_typesZif_admin_rulesZfc_fileZfc_dir© r   r   ú>/usr/lib/python3.9/site-packages/sepolicy/templates/var_log.pyÚ<module>   s   >  	   ˆÁÀ0¿Ã  0   ˆl–äY>”êi?u ¸ Ap!¸ËªbÑ¿Á„h¸_‹uÐb&=LV[(ÁÅ ?÷     # -*- perl -*-
#
#   DBD::File - A base class for implementing DBI drivers that
#               act on plain files
#
#  This module is currently maintained by
#
#      H.Merijn Brand & Jens Rehsack
#
#  The original author is Jochen Wiedmann.
#
#  Copyright (C) 2009-2013 by H.Merijn Brand & Jens Rehsack
#  Copyright (C) 2004 by Jeff Zucker
#  Copyright (C) 1998 by Jochen Wiedmann
#
#  All rights reserved.
#
#  You may distribute this module under the terms of either the GNU
#  General Public License or the Artistic License, as specified in
#  the Perl README file.

require 5.008;

use strict;
use warnings;

use DBI ();

package DBD::File;

use strict;
use warnings;

use base qw( DBI::DBD::SqlEngine );
use Carp;
use vars qw( @ISA $VERSION $drh );

$VERSION = "0.44";

$drh = undef;		# holds driver handle(s) once initialized

sub driver ($;$)
{
    my ($class, $attr) = @_;

    # Drivers typically use a singleton object for the $drh
    # We use a hash here to have one singleton per subclass.
    # (Otherwise DBD::CSV and DBD::DBM, for example, would
    # share the same driver object which would cause problems.)
    # An alternative would be to not cache the $drh here at all
    # and require that subclasses do that. Subclasses should do
    # their own caching, so caching here just provides extra safety.
    $drh->{$class} and return $drh->{$class};

    $attr ||= {};
    {	no strict "refs";
	unless ($attr->{Attribution}) {
	    $class eq "DBD::File" and
		$attr->{Attribution} = "$class by Jeff Zucker";
	    $attr->{Attribution} ||= ${$class . "::ATTRIBUTION"} ||
		"oops the author of $class forgot to define this";
	    }
	$attr->{Version} ||= ${$class . "::VERSION"};
	$attr->{Name} or ($attr->{Name} = $class) =~ s/^DBD\:\: