|
Chris PeBenito |
79cde3 |
## <summary>
|
|
Chris PeBenito |
79cde3 |
## SMB and CIFS client/server programs for UNIX and
|
|
Chris PeBenito |
79cde3 |
## name Service Switch daemon for resolving names
|
|
Chris PeBenito |
79cde3 |
## from Windows NT servers.
|
|
Chris PeBenito |
79cde3 |
## </summary>
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
#######################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## The per user domain template for the samba module.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <desc>
|
|
Chris PeBenito |
84c922 |
##
|
|
Chris PeBenito |
84c922 |
## This template allows smbd to manage files in
|
|
Chris PeBenito |
84c922 |
## a user home directory, creating files with the
|
|
Chris PeBenito |
84c922 |
## correct type.
|
|
Chris PeBenito |
84c922 |
##
|
|
Chris PeBenito |
84c922 |
##
|
|
Chris PeBenito |
84c922 |
## This template is invoked automatically for each user, and
|
|
Chris PeBenito |
84c922 |
## generally does not need to be invoked directly
|
|
Chris PeBenito |
84c922 |
## by policy writers.
|
|
Chris PeBenito |
84c922 |
##
|
|
Chris PeBenito |
84c922 |
## </desc>
|
|
Chris PeBenito |
84c922 |
## <param name="userdomain_prefix">
|
|
Chris PeBenito |
84c922 |
## The prefix of the user domain (e.g., user
|
|
Chris PeBenito |
84c922 |
## is the prefix for user_t).
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
template(`samba_per_userdomain_template',`
|
|
Chris PeBenito |
a996bd |
gen_require(`
|
|
Chris PeBenito |
a996bd |
type smbd_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
a996bd |
|
|
Chris PeBenito |
671673 |
tunable_policy(`samba_enable_home_dirs',`
|
|
Chris PeBenito |
671673 |
userdom_manage_user_home_subdir_files($1,smbd_t)
|
|
Chris PeBenito |
671673 |
userdom_manage_user_home_subdir_symlinks($1,smbd_t)
|
|
Chris PeBenito |
671673 |
userdom_manage_user_home_subdir_sockets($1,smbd_t)
|
|
Chris PeBenito |
671673 |
userdom_manage_user_home_subdir_pipes($1,smbd_t)
|
|
Chris PeBenito |
671673 |
userdom_create_user_home($1,smbd_t,{ dir file lnk_file sock_file fifo_file })
|
|
Chris PeBenito |
671673 |
')
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Execute samba net in the samba_net domain.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## The type of the process performing this action.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_domtrans_net',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_net_t, samba_net_exec_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
corecmd_search_bin($1)
|
|
Chris PeBenito |
84c922 |
domain_auto_trans($1,samba_net_exec_t,samba_net_t)
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
allow $1 samba_net_t:fd use;
|
|
Chris PeBenito |
84c922 |
allow samba_net_t $1:fd use;
|
|
Chris PeBenito |
84c922 |
allow samba_net_t $1:fifo_file rw_file_perms;
|
|
Chris PeBenito |
84c922 |
allow samba_net_t $1:process sigchld;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Execute samba net in the samba_net domain, and
|
|
Chris PeBenito |
84c922 |
## allow the specified role the samba_net domain.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## The type of the process performing this action.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
## <param name="role">
|
|
Chris PeBenito |
84c922 |
## The role to be allowed the samba_net domain.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
## <param name="terminal">
|
|
Chris PeBenito |
84c922 |
## The type of the terminal allow the samba_net domain to use.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_run_net',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_net_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
samba_domtrans_net($1)
|
|
Chris PeBenito |
84c922 |
role $2 types samba_net_t;
|
|
Chris PeBenito |
84c922 |
allow samba_net_t $3:chr_file rw_term_perms;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Execute smbmount in the smbmount domain.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## The type of the process performing this action.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_domtrans_smbmount',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type smbmount_t, smbmount_exec_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
corecmd_search_bin($1)
|
|
Chris PeBenito |
84c922 |
domain_auto_trans($1,smbmount_exec_t,smbmount_t)
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
allow $1 smbmount_t:fd use;
|
|
Chris PeBenito |
84c922 |
allow smbmount_t $1:fd use;
|
|
Chris PeBenito |
84c922 |
allow smbmount_t $1:fifo_file rw_file_perms;
|
|
Chris PeBenito |
84c922 |
allow smbmount_t $1:process sigchld;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Allow the specified domain to read
|
|
Chris PeBenito |
84c922 |
## samba configuration files.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## Domain allowed access.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_read_config',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_etc_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
files_search_etc($1)
|
|
Chris PeBenito |
84c922 |
allow $1 samba_etc_t:file { read getattr lock };
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Allow the specified domain to read
|
|
Chris PeBenito |
84c922 |
## and write samba configuration files.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## Domain allowed access.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_rw_config',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_etc_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
files_search_etc($1)
|
|
Chris PeBenito |
84c922 |
allow $1 samba_etc_t:file rw_file_perms;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Allow the specified domain to read samba's log files.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## Domain allowed access.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_read_log',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_log_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
logging_search_logs($1)
|
|
Chris PeBenito |
bf080a |
allow $1 samba_log_t:dir r_dir_perms;
|
|
Chris PeBenito |
84c922 |
allow $1 samba_log_t:file { read getattr lock };
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Execute samba log in the caller domain.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## The type of the process performing this action.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_exec_log',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_log_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
logging_search_logs($1)
|
|
Chris PeBenito |
84c922 |
can_exec($1,samba_log_t)
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Allow the specified domain to read samba's secrets.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## Domain allowed access.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_read_secrets',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type samba_secrets_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
files_search_etc($1)
|
|
Chris PeBenito |
84c922 |
allow $1 samba_secrets_t:file { read getattr lock };
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
725926 |
## Allow the specified domain to search
|
|
Chris PeBenito |
725926 |
## samba /var directories.
|
|
Chris PeBenito |
725926 |
## </summary>
|
|
Chris PeBenito |
725926 |
## <param name="domain">
|
|
Chris PeBenito |
725926 |
## Domain allowed access.
|
|
Chris PeBenito |
725926 |
## </param>
|
|
Chris PeBenito |
725926 |
#
|
|
Chris PeBenito |
725926 |
interface(`samba_search_var',`
|
|
Chris PeBenito |
725926 |
gen_require(`
|
|
Chris PeBenito |
725926 |
type samba_var_t;
|
|
Chris PeBenito |
725926 |
')
|
|
Chris PeBenito |
725926 |
|
|
Chris PeBenito |
725926 |
files_search_var($1)
|
|
Chris PeBenito |
725926 |
allow $1 samba_var_t:dir search_dir_perms;
|
|
Chris PeBenito |
725926 |
')
|
|
Chris PeBenito |
725926 |
|
|
Chris PeBenito |
725926 |
########################################
|
|
Chris PeBenito |
725926 |
## <summary>
|
|
Chris PeBenito |
9fd4b8 |
## Allow the specified domain to
|
|
Chris PeBenito |
9fd4b8 |
## read and write samba /var files.
|
|
Chris PeBenito |
9fd4b8 |
## </summary>
|
|
Chris PeBenito |
9fd4b8 |
## <param name="domain">
|
|
Chris PeBenito |
9fd4b8 |
## Domain allowed access.
|
|
Chris PeBenito |
9fd4b8 |
## </param>
|
|
Chris PeBenito |
9fd4b8 |
#
|
|
Chris PeBenito |
9fd4b8 |
interface(`samba_rw_var_files',`
|
|
Chris PeBenito |
9fd4b8 |
gen_require(`
|
|
Chris PeBenito |
9fd4b8 |
type samba_var_t;
|
|
Chris PeBenito |
9fd4b8 |
')
|
|
Chris PeBenito |
9fd4b8 |
|
|
Chris PeBenito |
9fd4b8 |
files_search_var($1)
|
|
Chris PeBenito |
9fd4b8 |
allow $1 samba_var_t:dir search_dir_perms;
|
|
Chris PeBenito |
9fd4b8 |
allow $1 samba_var_t:file rw_file_perms;
|
|
Chris PeBenito |
9fd4b8 |
')
|
|
Chris PeBenito |
9fd4b8 |
|
|
Chris PeBenito |
9fd4b8 |
########################################
|
|
Chris PeBenito |
9fd4b8 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Allow the specified domain to write to smbmount tcp sockets.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## Domain allowed access.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_write_smbmount_tcp_socket',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type smbmount_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
allow $1 smbmount_t:tcp_socket write;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
########################################
|
|
Chris PeBenito |
84c922 |
## <summary>
|
|
Chris PeBenito |
84c922 |
## Allow the specified domain to read and write to smbmount tcp sockets.
|
|
Chris PeBenito |
84c922 |
## </summary>
|
|
Chris PeBenito |
84c922 |
## <param name="domain">
|
|
Chris PeBenito |
84c922 |
## Domain allowed access.
|
|
Chris PeBenito |
84c922 |
## </param>
|
|
Chris PeBenito |
84c922 |
#
|
|
Chris PeBenito |
84c922 |
interface(`samba_rw_smbmount_tcp_socket',`
|
|
Chris PeBenito |
84c922 |
gen_require(`
|
|
Chris PeBenito |
84c922 |
type smbmount_t;
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
84c922 |
|
|
Chris PeBenito |
84c922 |
allow $1 smbmount_t:tcp_socket { read write };
|
|
Chris PeBenito |
84c922 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
########################################
|
|
Chris PeBenito |
79cde3 |
## <summary>
|
|
Chris PeBenito |
79cde3 |
## Execute winbind_helper in the winbind_helper domain.
|
|
Chris PeBenito |
79cde3 |
## </summary>
|
|
Chris PeBenito |
79cde3 |
## <param name="domain">
|
|
Chris PeBenito |
79cde3 |
## The type of the process performing this action.
|
|
Chris PeBenito |
79cde3 |
## </param>
|
|
Chris PeBenito |
79cde3 |
#
|
|
Chris PeBenito |
79cde3 |
interface(`samba_domtrans_winbind_helper',`
|
|
Chris PeBenito |
79cde3 |
gen_require(`
|
|
Chris PeBenito |
79cde3 |
type winbind_helper_t, winbind_helper_exec_t;
|
|
Chris PeBenito |
79cde3 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
domain_auto_trans($1,winbind_helper_exec_t,winbind_helper_t)
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
allow $1 winbind_helper_t:fd use;
|
|
Chris PeBenito |
79cde3 |
allow winbind_helper_t $1:fd use;
|
|
Chris PeBenito |
79cde3 |
allow winbind_helper_t $1:fifo_file rw_file_perms;
|
|
Chris PeBenito |
79cde3 |
allow winbind_helper_t $1:process sigchld;
|
|
Chris PeBenito |
79cde3 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
########################################
|
|
Chris PeBenito |
79cde3 |
## <summary>
|
|
Chris PeBenito |
79cde3 |
## Execute winbind_helper in the winbind_helper domain, and
|
|
Chris PeBenito |
79cde3 |
## allow the specified role the winbind_helper domain.
|
|
Chris PeBenito |
79cde3 |
## </summary>
|
|
Chris PeBenito |
79cde3 |
## <param name="domain">
|
|
Chris PeBenito |
79cde3 |
## The type of the process performing this action.
|
|
Chris PeBenito |
79cde3 |
## </param>
|
|
Chris PeBenito |
79cde3 |
## <param name="role">
|
|
Chris PeBenito |
79cde3 |
## The role to be allowed the winbind_helper domain.
|
|
Chris PeBenito |
79cde3 |
## </param>
|
|
Chris PeBenito |
79cde3 |
## <param name="terminal">
|
|
Chris PeBenito |
79cde3 |
## The type of the terminal allow the winbind_helper domain to use.
|
|
Chris PeBenito |
79cde3 |
## </param>
|
|
Chris PeBenito |
79cde3 |
#
|
|
Chris PeBenito |
79cde3 |
interface(`samba_run_winbind_helper',`
|
|
Chris PeBenito |
79cde3 |
gen_require(`
|
|
Chris PeBenito |
79cde3 |
type winbind_helper_t;
|
|
Chris PeBenito |
79cde3 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
samba_domtrans_winbind_helper($1)
|
|
Chris PeBenito |
79cde3 |
role $2 types winbind_helper_t;
|
|
Chris PeBenito |
79cde3 |
allow winbind_helper_t $3:chr_file rw_term_perms;
|
|
Chris PeBenito |
79cde3 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
########################################
|
|
Chris PeBenito |
79cde3 |
## <summary>
|
|
Chris PeBenito |
79cde3 |
## Allow the specified domain to read the winbind pid files.
|
|
Chris PeBenito |
79cde3 |
## </summary>
|
|
Chris PeBenito |
79cde3 |
## <param name="domain">
|
|
Chris PeBenito |
79cde3 |
## Domain allowed access.
|
|
Chris PeBenito |
79cde3 |
## </param>
|
|
Chris PeBenito |
79cde3 |
#
|
|
Chris PeBenito |
79cde3 |
interface(`samba_read_winbind_pid',`
|
|
Chris PeBenito |
79cde3 |
gen_require(`
|
|
Chris PeBenito |
79cde3 |
type winbind_var_run_t;
|
|
Chris PeBenito |
79cde3 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
files_search_pids($1)
|
|
Chris PeBenito |
79cde3 |
allow $1 winbind_var_run_t:file r_file_perms;
|
|
Chris PeBenito |
79cde3 |
')
|
|
Chris PeBenito |
79cde3 |
|
|
Chris PeBenito |
79cde3 |
########################################
|
|
Chris PeBenito |
79cde3 |
## <summary>
|
|
Chris PeBenito |
30705b |
## Connect to winbind.
|
|
Chris PeBenito |
30705b |
## </summary>
|
|
Chris PeBenito |
30705b |
## <param name="domain">
|
|
Chris PeBenito |
30705b |
## Domain allowed access.
|
|
Chris PeBenito |
30705b |
## </param>
|
|
Chris PeBenito |
30705b |
#
|
|
Chris PeBenito |
30705b |
interface(`samba_connect_winbind',`
|
|
Chris PeBenito |
30705b |
gen_require(`
|
|
Chris PeBenito |
a77e65 |
type samba_var_t, winbind_t, winbind_var_run_t;
|
|
Chris PeBenito |
30705b |
')
|
|
Chris PeBenito |
30705b |
|
|
Chris PeBenito |
30705b |
files_search_pids($1)
|
|
Chris PeBenito |
a77e65 |
allow $1 samba_var_t:dir search_dir_perms;
|
|
Chris PeBenito |
30705b |
allow $1 winbind_var_run_t:dir search_dir_perms;
|
|
Chris PeBenito |
ee64ef |
allow $1 winbind_var_run_t:sock_file { getattr read write };
|
|
Chris PeBenito |
30705b |
allow $1 winbind_t:unix_stream_socket connectto;
|
|
Chris PeBenito |
30705b |
')
|