From: dwalsh@redhat.com (Daniel J Walsh) Date: Mon, 25 Aug 2008 13:18:37 -0400 Subject: [refpolicy] [patch 33/35] mailscanner policy addition In-Reply-To: <1219327608.16398.63.camel@gorn.columbia.tresys.com> References: <20080804123456.679565839@hardeman.nu> <20080804123739.984442576@hardeman.nu> <1219327608.16398.63.camel@gorn.columbia.tresys.com> Message-ID: <48B2E96D.50805@redhat.com> To: refpolicy@oss.tresys.com List-Id: refpolicy.oss.tresys.com Christopher J. PeBenito wrote: > On Mon, 2008-08-04 at 14:35 +0200, david at hardeman.nu wrote: >> plain text document attachment >> (policy_modules_services_mailscanner.patch) >> Adds a new mailscanner module from the RH patchset > > This seems like an incomplete module, since it only has one file type > and no domain. > >> Index: refpolicy/policy/modules/services/mailscanner.fc >> =================================================================== >> --- /dev/null 1970-01-01 00:00:00.000000000 +0000 >> +++ refpolicy/policy/modules/services/mailscanner.fc 2008-08-03 22:09:51.000000000 +0200 >> @@ -0,0 +1,2 @@ >> +/var/spool/MailScanner(/.*)? gen_context(system_u:object_r:mailscanner_spool_t,s0) >> + >> Index: refpolicy/policy/modules/services/mailscanner.if >> =================================================================== >> --- /dev/null 1970-01-01 00:00:00.000000000 +0000 >> +++ refpolicy/policy/modules/services/mailscanner.if 2008-08-03 22:09:51.000000000 +0200 >> @@ -0,0 +1,59 @@ >> +## Anti-Virus and Anti-Spam Filter >> + >> +######################################## >> +## >> +## Search mailscanner spool directories. >> +## >> +## >> +## >> +## Domain allowed access. >> +## >> +## >> +# >> +interface(`mailscanner_search_spool',` >> + gen_require(` >> + type mailscanner_spool_t; >> + ') >> + >> + files_search_spool($1) >> + allow $1 mailscanner_spool_t:dir search_dir_perms; >> +') >> + >> +######################################## >> +## >> +## read mailscanner spool files. >> +## >> +## >> +## >> +## Domain allowed access. >> +## >> +## >> +# >> +interface(`mailscanner_read_spool',` >> + gen_require(` >> + type mailscanner_spool_t; >> + ') >> + >> + files_search_spool($1) >> + read_files_pattern($1,mailscanner_spool_t,mailscanner_spool_t) >> +') >> + >> +######################################## >> +## >> +## Create, read, write, and delete >> +## mailscanner spool files. >> +## >> +## >> +## >> +## Domain allowed access. >> +## >> +## >> +# >> +interface(`mailscanner_manage_spool',` >> + gen_require(` >> + type mailscanner_spool_t; >> + ') >> + >> + files_search_spool($1) >> + manage_files_pattern($1,mailscanner_spool_t,mailscanner_spool_t) >> +') >> Index: refpolicy/policy/modules/services/mailscanner.te >> =================================================================== >> --- /dev/null 1970-01-01 00:00:00.000000000 +0000 >> +++ refpolicy/policy/modules/services/mailscanner.te 2008-08-03 22:09:51.000000000 +0200 >> @@ -0,0 +1,5 @@ >> + >> +policy_module(mailscanner,1.0.0) >> + >> +type mailscanner_spool_t; >> +files_type(mailscanner_spool_t) >> This domain was added to just define a context and interfaces for mailscanner_spool_t so other domains could use it. I have never used mailscanner and have no idea how to set this up. I guess we could label /var/spool/MailScanner with a clamscan_spool_t and add the interfaces to there. The only domain that uses mailscan_spool is mailscanner_read_spool(procmail_t) mailscanner_manage_spool(clamscan_t)