10 Commits

Author SHA1 Message Date
9e05a63784 * Sat Jan 18 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-14.sme
- use esmith::ssl to set ciphers and protocol [SME: 12821]
  improve cipher order to get strongers first
  drop SSLv2
2025-01-18 15:41:12 -05:00
52e318c808 Add *.bak to .gitignore 2024-11-12 19:19:30 +00:00
51f6d90e78 Deleting spurious *.spec.bak files 2024-11-12 19:19:28 +00:00
c5703d4d30 Update README with specific Bugzilla links with status options 2024-10-27 14:28:26 +00:00
c5c00ab58d Update readme bugzilla link to show all outstanding bugs 2024-10-27 12:11:42 +00:00
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
19 changed files with 115 additions and 16 deletions

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@
*.log
*spec-20*
*.tar.xz
*.bak

View File

@@ -7,7 +7,14 @@ SMEServer Koozali developed git repo for smeserver-dovecot smeserver
<br />https://wiki.koozali.org/Smeserver-dovecot-extras
## Bugzilla
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-dovecot&product=SME%20Server%2010.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
Show list of outstanding bugs:
[All](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=NEEDINFO&bug_status=IN_PROGRESS&bug_status=RESOLVED&bug_status=VERIFIED&cf_package=smeserver-dovecot&classification=SME+Server&list_id=105756&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Confirmed](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=CONFIRMED&cf_package=smeserver-dovecot&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Unconfirmed](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=UNCONFIRMED&cf_package=smeserver-dovecot&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Need info](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=NEEDINFO&cf_package=smeserver-dovecot&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[In progress](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=IN_PROGRESS&cf_package=smeserver-dovecot&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Resolved](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=RESOLVED&cf_package=smeserver-dovecot&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
[Verified](https://bugs.koozali.org/buglist.cgi?action=wrap&bug_status=VERIFIED&cf_package=smeserver-dovecot&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
## Description

View File

@@ -1 +0,0 @@
sme10

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

@@ -7,5 +7,9 @@
foreach my $prope (qw( SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2 dh )) {
$DB->get_prop_and_delete('dovecot', $prope) if (exists $dovecot{$prope});
}
# drop SSLv2 from ssl_min_protocol
foreach my $prope (qw( SSLv2 )) {
$DB->get_prop_and_delete('dovecot', 'ssl_min_protocol') if (exists $dovecot{'ssl_min_protocol'} && $dovecot{'ssl_min_protocol'} eq $prope);
}
}

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

@@ -2,13 +2,11 @@ ssl = {$OUT .= ( (($imaps{'status'} || 'enabled') eq 'enabled') || (($pops{'stat
ssl_cert = </etc/dovecot/ssl/imapd.pem
ssl_key = </etc/dovecot/ssl/imapd.pem
{
my %protos={SLv3=>1,TLSv1=>1, TLSv1.1=>1, TLSv1.2=>1,TLSv1.3=>1};
my $proto = ( (exists $dovecot{'ssl_min_protocol'} ) && (exists $protos{$dovecot{'ssl_min_protocol'}} ) ) ? $dovecot{'ssl_min_protocol'} : 'TLSv1.2';
use esmith::ssl;
my $proto = ( (exists $dovecot{'ssl_min_protocol'} ) && (exists $existingSSLprotos{$dovecot{'ssl_min_protocol'}} ) ) ? $dovecot{'ssl_min_protocol'} : SSLprotoMin();
$OUT .= "ssl_dh=</etc/dovecot/ssl/dhparam.pem\n";
$OUT .= "ssl_min_protocol = $proto\n" if ($proto ne '');
$OUT .= "ssl_prefer_server_ciphers = yes\n";
$OUT .= "ssl_cipher_list = " . ($dovecot{CipherSuite} || $modSSL{CipherSuite} || 'ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256:HIGH@STRENGTH:!SSLv2:!ADH:!aNULL:!MD5:!RC4') . "\n";
$OUT .= "ssl_cipher_list = " . ($dovecot{CipherSuite} || $modSSL{CipherSuite} || $smeCiphers ). "\n";
}

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 14
%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,24 @@ 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
* Sat Jan 18 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-14.sme
- use esmith::ssl to set ciphers and protocol [SME: 12821]
improve cipher order to get strongers first
drop SSLv2
* 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 +282,9 @@ if [ $1 -gt 1 ] ; then
fi
fi
/usr/sbin/groupadd -g 439 sharedmailbox 2> /dev/null || :
%post
%preun