Do not remove ACL all the time if SharedMailbox is disabled

This commit is contained in:
Daniel Berteaud 2013-02-06 09:21:26 +01:00
parent 7d231598c0
commit 238da5d92c
1 changed files with 15 additions and 13 deletions

View File

@ -16,19 +16,21 @@ my $event = $ARGV[0];
# SharedMailboxes disabled ? # SharedMailboxes disabled ?
if (($dovecot->prop('SharedMailbox') || 'disabled') eq 'disabled'){ if (($dovecot->prop('SharedMailbox') || 'disabled') eq 'disabled'){
foreach my $user ($a->users){ if (($dovecot->prop('SharedMailboxAcl') || 'yes') ne 'no'){
my $name = $user->key; foreach my $user ($a->users){
die "Error removing SharedMailbox ACLs ($name"."'s Maildir)\n" unless ( my $name = $user->key;
system('/usr/bin/setfacl', die "Error removing SharedMailbox ACLs ($name"."'s Maildir)\n" unless (
'-R', system('/usr/bin/setfacl',
'-x', '-R',
'g:sharedmailbox', '-x',
"/home/e-smith/files/users/$name") == 0 && 'g:sharedmailbox',
system('/bin/chmod', "/home/e-smith/files/users/$name") == 0 &&
'-R', system('/bin/chmod',
'g-s', '-R',
"/home/e-smith/files/users/$name/Maildir") == 0 'g-s',
); "/home/e-smith/files/users/$name/Maildir") == 0
);
}
} }
$dovecot->set_prop('SharedMailboxAcl','no'); $dovecot->set_prop('SharedMailboxAcl','no');
exit(0); exit(0);