5 Commits

Author SHA1 Message Date
John Crisp
2bb7a3d853 use INDEXPVT instead of INDEX for shared mailboxes [SME: 12150] 2024-10-21 18:50:12 +02:00
519a404456 * Wed Sep 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-12.sme
- fix missing sharedmailbox group [SME: 12735]
2024-09-25 17:12:35 -04:00
8eea5fb089 * Tue Sep 24 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-11.sme
- add missing /home/e-smith/files/public/ folder [SME: 12735]
2024-09-24 22:11:44 -04:00
447423f7bd * Wed Sep 11 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-10.sme
- merge dovecot-extra [SME: 12735]
- add sieves support over ssl and improve template
- requires dovecot-pigeonhole
2024-09-12 22:32:44 -04:00
904b1a448d * Wed Sep 11 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-9.sme
- merge dovecot-extra [SME: 12735]
- add sieves support over ssl and improve template
2024-09-12 00:36:59 -04:00
14 changed files with 94 additions and 9 deletions

View File

@@ -1 +1 @@
private
localhost

View File

@@ -1 +1 @@
service
configuration

View File

@@ -0,0 +1 @@
5190

View File

@@ -0,0 +1 @@
private

View File

@@ -0,0 +1 @@
4190

View File

@@ -0,0 +1 @@
private

View File

@@ -0,0 +1 @@
enabled

View File

@@ -0,0 +1 @@
configuration

View File

@@ -0,0 +1 @@
enabled

View File

@@ -0,0 +1 @@
service

View File

@@ -1,17 +1,64 @@
{
if (($sieve{'status'} || 'enabled') eq 'enabled'){
my $port = $sieve{'TCPPort'} || '4190';
my $address = $sieve{'Listen'} || '127.0.0.1';
$OUT .=<<"HERE";
my $sieveStatus = $sieve{'status'} || 'enabled';
my $sievesStatus = $sieves{'status'} || 'enabled';
my $port = $sieve{'TCPPort'} || '4190';
# should we only allow localhost ?
my $sieveAccess = $sieve{'access'} || 'localhost';
my $sieveListen = $sieve{'Listen'} || '';
my $sieveAddress = "";
if ($sieveAccess eq 'localhost') {
$sieveAddress = '127.0.0.1';
} elsif ($sieveAccess eq 'private') {
$sieveAddress = "127.0.0.1 $LOCALIP";
} elsif ($sieveAccess eq 'public') {
$sieveAddress = "127.0.0.1 $LOCALIP $EXTERNALIP";
}
$sieveAddress .= " $sieveListen";
my $ports = $sieves{'TCPPort'} || '5190';
my $sievesAccess = $sieves{'access'} || 'localhost';
my $sievesListen = $sieves{'Listen'} || '';
my $sievesAddress = "";
if ($sievesAccess eq 'localhost') {
$sievesAddress = '127.0.0.1';
} elsif ($sievesAccess eq 'private') {
$sievesAddress = "127.0.0.1 $LOCALIP";
} elsif ($sievesAccess eq 'public') {
$sievesAddress = "127.0.0.1 $LOCALIP $EXTERNALIP";
}
$sievesAddress .= " $sievesListen";
if ( $sieveStatus eq 'enabled' || $sievesStatus eq 'enabled') {
$OUT .=<<"HERE";
service managesieve-login {
HERE
if ( $sieveStatus eq 'enabled' ) {
$OUT .=<<"HERE";
inet_listener sieve {
port = $port
address = $address
address = $sieveaddress
}
HERE
}
if ( $sievesStatus eq 'enabled' ) {
$OUT .=<<"HERE";
inet_listener sieves {
port = $ports
ssl = yes
address = $sievesaddress
}
HERE
}
$OUT .=<<"HERE";
}
HERE
}
else {
$OUT .= "# Sieve is disabled";

View File

@@ -45,6 +45,19 @@ _EOF
my $shared_mb = "\n# SharedMailbox is disabled\n";
my $public_mb = "\n# PublicMailbox is disabled\n";
if (($dovecot{'SharedMailbox'} || 'disabled') eq 'enabled'){
if (($dovecot{'PrivateIndex'} || 'disabled') eq 'enabled'){
$shared_mb =<<'_EOF';
namespace {
type = shared
separator = /
prefix = shared/%%u/
location = maildir:%%h/Maildir:INDEXPVT=~/Maildir/shared/%%u
subscriptions = no
list = children
}
_EOF
}
if (($dovecot{'PrivateIndex'} || 'disabled') eq 'disabled'){
$shared_mb =<<'_EOF';
namespace {
type = shared
@@ -55,6 +68,7 @@ namespace {
list = children
}
_EOF
}
}
if (($dovecot{'PublicMailbox'} || 'disabled') eq 'enabled'){
$public_mb =<<'_EOF';
@@ -87,3 +101,4 @@ _EOF
push @conf, $common, $shared_mb, $public_mb, $acl;
$OUT .= '';
}

View File

View File

@@ -1,5 +1,5 @@
%define version 11.0.0
%define release 8
%define release 13
%define name smeserver-dovecot
@@ -18,6 +18,7 @@ BuildRequires: smeserver-devtools
Requires: smeserver-base >= 5.2.0
Requires: dovecot >= 2.3.16
Requires: dovecot-pigeonhole
Requires: portreserve
Provides: smeserver-imap
@@ -40,8 +41,19 @@ Configure the dovecot IMAP server with sieve scripts support,
quota, ACL, extended logging, master user
%changelog
* Wed Sep 11 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-8.sme
* Mon Oct 21 2024 John Crisp <jcrisp@safeandsoundit.co.uk> 11.0.0-13.sme
- use INDEXPVT instead of INDEX for shared mailboxes [SME: 12150]
* Wed Sep 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-12.sme
- fix missing sharedmailbox group [SME: 12735]
* Tue Sep 24 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-11.sme
- add missing /home/e-smith/files/public/ folder [SME: 12735]
* Wed Sep 11 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-10.sme
- merge dovecot-extra [SME: 12735]
- add sieves support over ssl and improve template
- requires dovecot-pigeonhole
* Fri Apr 05 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-7.sme
- add missing requirement for portreserve [SME: 12589]
@@ -265,6 +277,9 @@ if [ $1 -gt 1 ] ; then
fi
fi
/usr/sbin/groupadd -g 439 sharedmailbox 2> /dev/null || :
%post
%preun