15 Commits

Author SHA1 Message Date
1c968bd743 * Tue Mar 18 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-15.sme
- change dhparam generation [SME: 12814]
2025-03-18 00:57:21 -04:00
b492b495bd * Thu Mar 06 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-14.sme
- cleanup of qpsmptd spool [SME: 11671]
2025-03-06 17:23:36 -05:00
877a1070f0 * Sat Jan 18 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-13.sme
- use esmith::ssl to set ciphers and protocol [SME: 12822]
  improve cipher order to get strongers first
2025-01-18 16:14:46 -05:00
4ba4af692a * Tue Jan 14 2025 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-12.sme
- fix /bin/sh is needed because of pretrans scriptlet [SME: 12871]
2025-01-14 21:49:49 -05:00
1b6e9088fd * Mon Nov 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-11.sme
- make compatible for postfix [SME: 1279]
  use postfix queue, qmail queue removed
  copy templates of rcpthosts to (us)qpsmtpd for rcpt_ok
  copy templates of smtproutes to (us)qpsmtpd for check_smtp_forward
2024-12-17 07:14:18 -05:00
2b17a8653d * Mon Nov 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-10.sme
- make compatible for postfix [SME: 1279]
  use postfix queue, qmail queue removed
  copy templates of rcpthosts to (us)qpsmtpd for rcpt_ok
  copy templates of smtproutes to (us)qpsmtpd for check_smtp_forward
2024-12-16 23:25:44 -05:00
302f649f00 * Mon Nov 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-10.sme
- make compatible for postfix [SME: 1279]
  use postfix queue, qmail queue removed
  copy templates of rcpthosts to (us)qpsmtpd for rcpt_ok
  copy templates of smtproutes to (us)qpsmtpd for check_smtp_forward
2024-12-16 23:21:59 -05:00
ec4d24ba46 Add *.bak to .gitignore 2024-11-12 19:21:34 +00:00
136ed02b53 Deleting spurious *.spec.bak files 2024-11-12 19:21:32 +00:00
185a02376e Update README with specific Bugzilla links with status options 2024-10-27 14:29:28 +00:00
33e2000fc6 Update readme bugzilla link to show all outstanding bugs 2024-10-27 12:06:08 +00:00
c299cf93c5 * Mon Oct 21 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-9.sme
- fix configuration for auth per deamon [SME: 12451]
- remove deamontools requirement [SME: 12615]
2024-10-21 23:40:51 -04:00
073a985ff2 * Thu Apr 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-8.sme
- add listening deamon on submission port 587 [SME: 6510]
- move qpsmtpd daemons to full systemd supervision [SME: 12615]
- separate configuration for the 3 qpsmtpd daemons [SME: 12451]
  increase default TLS version on u/sqpsmtpd as auth is required
- increase Softlimit to 150M [SME: 12638]
- remove old qmail templates [SME: 9492]
  template for /var/qmail/control/{badrcptto,badmailfrom,rcpthosts}
  also import template for config/badmailfrom from smeserver-wbl
2024-04-26 02:30:28 -04:00
c0392201a0 * Thu Apr 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-8.sme
- add listening deamon on submission port 587 [SME: 6510]
- move qpsmtpd daemons to full systemd supervision [SME: 12615]
- separate configuration for the 3 qpsmtpd daemons [SME: 12451]
  increase default TLS version on u/sqpsmtpd as auth is required
- increase Softlimit  to 150M [SME: 12638]
- remove old qmail templates [SME: 9492]
  template for /var/qmail/control/{badrcptto,badmailfrom,rcpthosts}
  also import template for config/badmailfrom from smeserver-wbl
TODO organize peers content for u and s qpsmtpd
TODO check if more config modules needs per service config
2024-04-26 01:59:05 -04:00
5b40bfd4f1 * Thu Apr 25 2024 Jean-Philippe Pialasse <jpp@koozali.org> 11.0.0-8.sme
- add listening deamon on submission port 587 [SME: 6510]
- move qpsmtpd daemons to full systemd supervision [SME: 12615]
- separate configuration for the 3 qpsmtpd daemons [SME: 12451]
  increase default TLS version on u/sqpsmtpd as auth is required
- increase Softlimit  to 150M [SME: 12638]
- remove old qmail templates [SME: 9492]
  template for /var/qmail/control/{badrcptto,badmailfrom,rcpthosts}
  also import template for config/badmailfrom from smeserver-wbl
TODO organize peers content for u and s qpsmtpd
TODO check if more config modules needs per service config
2024-04-25 17:24:35 -04:00
132 changed files with 817 additions and 471 deletions

1
.gitignore vendored
View File

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

View File

@@ -15,7 +15,14 @@ SMEServer Koozali developed git repo for smeserver-qpsmtpd smeserver
<br />https://wiki.koozali.org/Qpsmtpd:helo
## Bugzilla
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-qpsmtpd&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-qpsmtpd&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-qpsmtpd&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-qpsmtpd&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-qpsmtpd&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-qpsmtpd&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-qpsmtpd&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-qpsmtpd&classification=SME+Server&order=changeddate+DESC%2Ccomponent%2Cpriority%2Cbug_severity&query_format=advanced)
## Description

View File

@@ -1,6 +1,10 @@
#!/usr/bin/perl -w
use esmith::Build::CreateLinks qw(:all);
my $event;
my $service;
my $daemon;
my $config;
foreach $event (qw(
email-update
@@ -14,40 +18,7 @@ foreach $event (qw(
event_link("domains-update-dkim", $event, "30");
}
my $service = "/var/service/qpsmtpd";
foreach $event (qw(
network-create
network-delete
smeserver-qpsmtpd-update
))
{
templates2events("$service/config/relayclients", $event);
}
foreach $event (qw(
bootstrap-console-save
console-save
email-update
network-create
network-delete
smeserver-qpsmtpd-update
))
{
templates2events("$service/peers/0", $event);
templates2events("$service/peers/local", $event);
templates2events("$service/config/peers/0", $event);
templates2events("$service/config/peers/local", $event);
}
templates2events("$service/runenv", qw(
bootstrap-console-save
console-save
email-update
smeserver-qpsmtpd-update
));
$service = "/var/service/qpsmtpd";
templates2events("$service/ssl/cert.pem", qw(
bootstrap-console-save
console-save
@@ -67,154 +38,193 @@ templates2events($_, qw(
/home/e-smith/dkim_keys/default/selector
));
my $secure_service = "/var/service/sqpsmtpd";
templates2events("$secure_service/runenv", qw(
bootstrap-console-save
console-save
email-update
smeserver-qpsmtpd-update
));
my $control = "/var/qmail/control";
templates2events("$control/badmailfrom", qw(
bootstrap-console-save
console-save
email-update
smeserver-qpsmtpd-update
));
templates2events("$control/badrcptto", qw(
bootstrap-console-save
console-save
email-update
domain-create
domain-delete
user-create
user-delete
user-modify
group-create
group-delete
group-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
smeserver-qpsmtpd-update
));
my $config = "/var/service/qpsmtpd/config";
templates2events("$config/$_", qw(
bootstrap-console-save
console-save
email-update
smeserver-qpsmtpd-update
))
for (qw(
IP
badhelo
badrcptto
badrcptto_ext
dnsbl_zones
dnsbl_allow
uribl_zones
loglevel
memory_threshold
plugins
relayclients norelayclients
rhsbl_zones
signatures_patterns
plugin_dirs
smtpgreeting
spool_dir
subject_prefix
invalid_resolvable_fromhost
timeout
timeoutsmtpd
tls_before_auth
tls_ciphers
tls_protocols
));
templates2events("$config/badrcptto_ext", qw(
domain-create
domain-delete
user-create
user-delete
user-modify
group-create
group-delete
group-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
smeserver-qpsmtpd-update
));
templates2events("$config/$_", qw(
ssl-update
smeserver-qpsmtpd-update
))
for (qw(
tls_before_auth
tls_ciphers
tls_protocols
));
templates2events("$config/badhelo", 'ip-change');
templates2events("$config/goodrcptto", qw(
bootstrap-console-save
email-update
domain-create
domain-delete
user-create
user-delete
user-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
group-create
group-delete
group-modify
smeserver-qpsmtpd-update
));
safe_touch("root/etc/e-smith/templates/$config/forcespamcheck/template-begin");
templates2events("$config/forcespamcheck", qw(
bootstrap-console-save
email-update
domain-create
domain-delete
user-create
user-delete
user-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
group-create
group-delete
group-modify
smeserver-qpsmtpd-update
));
for my $daemon ( qw(qpsmtpd sqpsmtpd) )
#### start do this for qpsmtpd /sqpsmtpd/ uqpsmtpd
for $daemon ( qw(qpsmtpd sqpsmtpd uqpsmtpd) )
{
safe_symlink("sighup",
$service = "/var/service/$daemon";
$config = "$service/config";
foreach $event (qw(
bootstrap-console-save
console-save
email-update
network-create
network-delete
smeserver-qpsmtpd-update
))
{
templates2events("$service/peers/0", $event);
templates2events("$service/peers/local", $event);
templates2events("$service/config/peers/0", $event);
templates2events("$service/config/peers/local", $event);
}
templates2events("$config/$_", qw(
bootstrap-console-save
console-save
email-update
smeserver-qpsmtpd-update
))
for (qw(
IP
badhelo
badrcptto
badrcptto_ext
badmailfrom
dnsbl_zones
dnsbl_allow
uribl_zones
loglevel
memory_threshold
plugins
relayclients norelayclients
rhsbl_zones
signatures_patterns
plugin_dirs
smtpgreeting
spool_dir
subject_prefix
invalid_resolvable_fromhost
smtproutes
timeout
timeoutsmtpd
tls_before_auth
tls_ciphers
tls_protocols
));
templates2events("$config/$_", qw(
console-save
bootstrap-console-save
domain-create
domain-delete
ip-change
email-update
host-create
host-delete
host-modify
post-upgrade
smeserver-qpsmtpd-update
))
for (qw(
rcpthosts
smtproutes
));
templates2events("$config/badrcptto_ext", qw(
domain-create
domain-delete
user-create
user-delete
user-modify
group-create
group-delete
group-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
smeserver-qpsmtpd-update
));
templates2events("$config/relayclients", qw(
network-create
network-delete
smeserver-qpsmtpd-update
));
templates2events("$config/$_", qw(
ssl-update
smeserver-qpsmtpd-update
))
for (qw(
tls_before_auth
tls_ciphers
tls_protocols
));
templates2events("$config/badhelo", 'ip-change');
templates2events("$config/goodrcptto", qw(
bootstrap-console-save
email-update
domain-create
domain-delete
user-create
user-delete
user-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
group-create
group-delete
group-modify
smeserver-qpsmtpd-update
));
safe_touch("root/etc/e-smith/templates/$config/forcespamcheck/template-begin");
templates2events("$config/forcespamcheck", qw(
bootstrap-console-save
email-update
domain-create
domain-delete
user-create
user-delete
user-modify
pseudonym-create
pseudonym-delete
pseudonym-modify
group-create
group-delete
group-modify
smeserver-qpsmtpd-update
));
safe_symlink("restart",
"root/etc/e-smith/events/email-update/services2adjust/$daemon");
safe_symlink("sighup",
"root/etc/e-smith/events/ssl-update/services2adjust/$daemon");
}
for my $event ( qw(network-create network-delete) )
for $event ( qw(smeserver-qpsmtpd-update email-update console-save bootstrap-console-save post-install post-upgrade) )
{
templates2events("/usr/lib/systemd/system/$daemon.service.d/50koozali.conf", $event);
}
}
#######end of per config dir
for $event ( qw(network-create network-delete) )
{
safe_symlink("sigusr1",
"root/etc/e-smith/events/$event/services2adjust/qpsmtpd");
safe_symlink("sigusr1",
"root/etc/e-smith/events/$event/services2adjust/sqpsmtpd");
safe_symlink("sigusr1",
"root/etc/e-smith/events/$event/services2adjust/uqpsmtpd");
}
my $event = 'smeserver-qpsmtpd-update';
$event = 'smeserver-qpsmtpd-update';
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/qpsmtpd");
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/sqpsmtpd");
safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/uqpsmtpd");
templates2events("/etc/systemd/system-preset/49-koozali.preset", $event);
event_link("systemd-reload", $event, "89");
event_link("systemd-default", $event, "88");
$event = "dhparam-update";
templates2events("/var/service/qpsmtpd/ssl/dhparam.pem", $event);
safe_symlink("try-restart", "root/etc/e-smith/events/$event/services2adjust/qpsmtpd");
safe_symlink("try-restart", "root/etc/e-smith/events/$event/services2adjust/sqpsmtpd");
safe_symlink("try-restart", "root/etc/e-smith/events/$event/services2adjust/uqpsmtpd");
$event = "smeserver-base-update";
templates2events("/var/service/qpsmtpd/ssl/dhparam.pem", $event);
safe_symlink("try-restart", "root/etc/e-smith/events/$event/services2adjust/qpsmtpd");
safe_symlink("try-restart", "root/etc/e-smith/events/$event/services2adjust/sqpsmtpd");
safe_symlink("try-restart", "root/etc/e-smith/events/$event/services2adjust/uqpsmtpd");

View File

@@ -0,0 +1 @@
[ -d /var/spool/qpsmtpd ] && /usr/sbin/tmpwatch -f 8 /var/spool/qpsmtpd

View File

@@ -1 +1 @@
enabled
disabled

View File

@@ -0,0 +1 @@
10

View File

@@ -0,0 +1 @@
587

View File

@@ -0,0 +1 @@
public

View File

@@ -0,0 +1 @@
service

View File

@@ -0,0 +1,5 @@
TEMPLATE_PATH="/home/e-smith/dh.pem"
OUTPUT_FILENAME="/var/service/qpsmtpd/ssl/dhparam.pem"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/IP"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badhelo"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badmailfrom"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badrcptto"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badrcptto_ext"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/dnsbl_allow"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/dnsbl_zones"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/forcespamcheck"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/goodrcptto"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/invalid_resolvable_fromhost"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/loglevel"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/memory_threshold"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/norelayclients"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/plugin_dirs"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,2 @@
OUTPUT_FILENAME="/var/service/sqpsmtpd/config/peers/0"
TEMPLATE_PATH="/var/service/sqpsmtpd/config/peers/0"

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/rcpthosts"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/relayclients"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/rhsbl_zones"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/signatures_patterns"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/smtpgreeting"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,5 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/smtproutes"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/spool_dir"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/subject_prefix"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/timeout"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/timeoutsmtpd"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/uribl_zones"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,2 @@
PERMS=use esmith::ConfigDB; (esmith::ConfigDB->open_ro->get('qpsmtpd')->prop('access') eq "private") ? "000" : "0644"
TEMPLATE_PATH="/var/service/qpsmtpd/peers/0"

View File

@@ -0,0 +1,2 @@
PERMS=use esmith::ConfigDB; (esmith::ConfigDB->open_ro->get('sqpsmtpd')->prop('status') eq "enabled") ? "0644" : "0000"
TEMPLATE_PATH="/var/service/qpsmtpd/peers/local"

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/home/e-smith/ssl.pem"
OUTPUT_FILENAME="/var/service/qpsmtpd/ssl/cert.pem"
GID="qpsmtpd"
PERMS=0640

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/IP"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badhelo"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badmailfrom"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badrcptto"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/badrcptto_ext"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/dnsbl_allow"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/dnsbl_zones"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/forcespamcheck"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/goodrcptto"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/invalid_resolvable_fromhost"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/loglevel"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/memory_threshold"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/norelayclients"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/plugin_dirs"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,2 @@
OUTPUT_FILENAME="/var/service/uqpsmtpd/config/peers/0"
TEMPLATE_PATH="/var/service/uqpsmtpd/config/peers/0"

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/rcpthosts"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/relayclients"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/rhsbl_zones"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/signatures_patterns"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/smtpgreeting"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,5 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/smtproutes"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/spool_dir"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/subject_prefix"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/timeout"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/timeoutsmtpd"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/var/service/qpsmtpd/config/uribl_zones"
UID="root"
GID="root"
PERMS=0644

View File

@@ -0,0 +1,2 @@
PERMS=use esmith::ConfigDB; (esmith::ConfigDB->open_ro->get('uqpsmtpd')->prop('access') eq "private") ? "000" : "0644"
TEMPLATE_PATH="/var/service/qpsmtpd/peers/0"

View File

@@ -0,0 +1,2 @@
PERMS=use esmith::ConfigDB; (esmith::ConfigDB->open_ro->get('uqpsmtpd')->prop('status') eq "enabled") ? "0644" : "0000"
TEMPLATE_PATH="/var/service/qpsmtpd/peers/local"

View File

@@ -0,0 +1,4 @@
TEMPLATE_PATH="/home/e-smith/ssl.pem"
OUTPUT_FILENAME="/var/service/qpsmtpd/ssl/cert.pem"
GID="qpsmtpd"
PERMS=0640

View File

@@ -0,0 +1,10 @@
#qpsmtpd
:programname, startswith, "qpsmtpd" /var/log/qpsmtpd/qpsmtpd.log
& stop
:programname, startswith, "sqpsmtpd" /var/log/sqpsmtpd/sqpsmtpd.log
& stop
:programname, startswith, "uqpsmtpd" /var/log/uqpsmtpd/uqpsmtpd.log
& stop

View File

@@ -0,0 +1,14 @@
[Service]
LimitDATA={$qpsmtpd{Softlimit} || "150000000"}
LimitSTACK={$qpsmtpd{Softlimit} || "150000000"}
LimitMEMLOCK={$qpsmtpd{Softlimit} || "150000000"}
Environment=
Environment={
$OUT = "QPSMTPD_CONFIG=/var/service/qpsmtpd/config";
$OUT .= " PORT=". ($qpsmtpd{TCPPort} || "25");
$OUT .= " INSTANCES=" . ($qpsmtpd{Instances} || "40");
$OUT .= " INSTANCES_PER_IP=" . ($qpsmtpd{InstancesPerIP} || "5");
$OUT .= " PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin";
$OUT .= " TCPLOCALHOST=$SystemName.$DomainName";
}

View File

@@ -0,0 +1,14 @@
[Service]
LimitDATA={$sqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "150000000"}
LimitSTACK={$sqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "150000000"}
LimitMEMLOCK={$sqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "150000000"}
Environment=
Environment={
$OUT = "QPSMTPD_CONFIG=/var/service/sqpsmtpd/config";
$OUT .= " PORT=". ($sqpsmtpd{TCPPort} || "465");
$OUT .= " INSTANCES=" . ($sqpsmtpd{Instances} || $qpsmtpd{Instances} || "40");
$OUT .= " INSTANCES_PER_IP=" . ($sqpsmtpd{InstancesPerIP} || $qpsmtpd{InstancesPerIP} ||"5");
$OUT .= " PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin";
$OUT .= " TCPLOCALHOST=$SystemName.$DomainName";
}

View File

@@ -0,0 +1,14 @@
[Service]
LimitDATA={$uqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "150000000"}
LimitSTACK={$uqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "150000000"}
LimitMEMLOCK={$uqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "150000000"}
Environment=
Environment={
$OUT = "QPSMTPD_CONFIG=/var/service/uqpsmtpd/config";
$OUT .= " PORT=". ($uqpsmtpd{TCPPort} || "587");
$OUT .= " INSTANCES=" . ($uqpsmtpd{Instances} || $qpsmtpd{Instances} || "40");
$OUT .= " INSTANCES_PER_IP=" . ($uqpsmtpd{InstancesPerIP} || $qpsmtpd{InstancesPerIP} ||"5");
$OUT .= " PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin";
$OUT .= " TCPLOCALHOST=$SystemName.$DomainName";
}

View File

@@ -1,9 +0,0 @@
{
require esmith::AccountsDB;
require esmith::DomainsDB;
%Accounts = esmith::AccountsDB->as_hash;
%Domains = esmith::DomainsDB->as_hash;
"";
}

View File

@@ -1,16 +0,0 @@
{
foreach my $account ( keys %Accounts )
{
next unless ( exists $Accounts{$account}{Visible}
and $Accounts{$account}{Visible} eq "internal" );
$OUT .= "$account\n";
$OUT .= "$account\@$DomainName\n";
foreach my $domain ( keys %Domains )
{
next unless $Domains{$domain}{type} eq "domain";
$OUT .= "$account\@$domain\n";
}
}
}

View File

@@ -1,6 +1,6 @@
{
$OUT .= '';
foreach my $alias ( $a->users, $a->groups, $a->pseudonyms ){
foreach my $alias ( $a->users, $a->groups, $a->pseudonyms, $a->get_all_by_prop(type =>"system") ){
next unless ( $alias->prop('Visible') || '') =~ m/^(internal|none)$/i;
$OUT .= $alias->key . "\n" and next if $alias->key =~ m/@/;

View File

@@ -0,0 +1,5 @@
{
my $auth_smtp = ($qpsmtpd{Authentication} eq 'enabled') ? 'yes' : 'no';
return "# auth/auth_imap disabled " if $auth_smtp eq "no";
$OUT = "auth/auth_imap 127.0.0.1 143";
}

View File

@@ -0,0 +1,5 @@
{
my $auth_smtp = ($qpsmtpd{Authentication} eq 'enabled') ? 'yes' : 'no';
return "# auth/auth_imap disabled " if $auth_smtp eq "no";
$OUT = "auth/auth_imap 127.0.0.1 143";
}

View File

@@ -0,0 +1 @@
queue/postfix-queue FLAG_MASK_EXTERNAL

View File

@@ -1,5 +0,0 @@
{
#return "# DelegateMailServer set" if $DelegateMailServer;
return "queue/qmail-queue";
}

View File

@@ -0,0 +1,25 @@
{
#
# qmail's smtproutes mechanism works such that the LAST BEST match
# found in /var/qmail/control/smtproutes will be used in preference
# to any other entry.
#
# Consider the following /var/qmail/control/smtproutes example:
#
# :smarthost.somewhere
# domain.place:some.host
# domain.place:other.host
# :some.other.smarthost.elsewhere
#
# Mail for user@domain.place will ALWAYS be delivered to
# other.host. The entry for some.host will NEVER be used.
#
# Mail for any other domain will ALWAYS be delivered to
# some.other.smarthost.elsewhere. The entry for smarthost.somewhere
# will NEVER be used.
#
# Therefore, if you wish to make any customisations to the
# /var/qmail/control/smtproutes templates, you must ensure that they
# appear AFTER the standard e-smith template entries.
#
}

View File

@@ -0,0 +1,17 @@
{
$OUT = "";
use esmith::DomainsDB;
my $ddb = esmith::DomainsDB->open_ro();
for my $domain ( $ddb->domains )
{
my $mail_server = $domain->prop('MailServer')
|| $DelegateMailServer
|| 'localhost';
next if ( $mail_server eq 'localhost' );
$OUT .= $domain->key . ":$mail_server\n";
}
}

View File

@@ -0,0 +1,28 @@
{
$OUT = "";
#--------------------------------------------------
# Now check for SMTP smart host
#--------------------------------------------------
if (
$SMTPSmartHost
&&
($SMTPSmartHost ne 'off')
&&
($SMTPSmartHost !~ /^\s*$/)
)
{
# Is the smtp-auth-proxy enabled?
if (${'smtp-auth-proxy'}{'status'} eq 'enabled')
{
$OUT .= ":localhost:26";
}
else
{
$OUT .= ":$SMTPSmartHost";
}
}
chomp ($OUT);
}

View File

@@ -1,5 +1,5 @@
{
# When updating CipherSuite both e-smith-apache and smeserver-qpsmtpd templates should be updated.
return $qpsmtpd{tlsCipher} || $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';
use esmith::ssl;
return $qpsmtpd{tlsCipher} || $modSSL{CipherSuite} || $smeCiphers;
}

View File

@@ -1,8 +1,4 @@
{
$OUT .= 'SSLv23';
$OUT .= ':!SSLv2' unless ($qpsmtpd{SSLv2} || 'disabled') eq 'enabled';
$OUT .= ':!SSLv3' unless ($qpsmtpd{SSLv3} || 'disabled') eq 'enabled';
$OUT .= ':!TLSv1' unless ($qpsmtpd{TLSv1} || 'enabled') eq 'enabled';
$OUT .= ':!TLSv1.1' unless ($qpsmtpd{TLSv1.1} || 'enabled') eq 'enabled';
$OUT .= ':!TLSv1.2' unless ($qpsmtpd{TLSv1.2} || 'enabled') eq 'enabled';
use esmith::ssl;
return SSLprotoQpsmtpd("qpsmtpd");
}

View File

@@ -0,0 +1,2 @@
# The next line should be set to 0 if you want to offer AUTH without TLS
1

View File

@@ -0,0 +1,5 @@
{
use esmith::ssl;
return $qpsmtpd{tlsCipher} || $modSSL{CipherSuite} || $smeCiphers;
}

View File

@@ -0,0 +1,4 @@
{
use esmith::ssl;
return SSLprotoQpsmtpd("sqpsmtpd");
}

View File

@@ -1,4 +0,0 @@
# This templated file is sourced by the sqpsmtpd run
# file. Shell variables can be set here for use by the run
# script, or environment variables can be exported for use
# by sqpsmtpd.

View File

@@ -1,3 +0,0 @@
{
return "INSTANCES=" . ($sqpsmtpd{Instances} || $qpsmtpd{Instances} || "10");
}

View File

@@ -1,4 +0,0 @@
{
return "INSTANCES_PER_IP=" .
($sqpsmtpd{InstancesPerIP} || $qpsmtpd{InstancesPerIP} || "5");
}

View File

@@ -1 +0,0 @@
export PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin

View File

@@ -1,3 +0,0 @@
{
return "export PORT=" . (${sqpsmtpd}{TCPPort} || "465");
}

View File

@@ -1,3 +0,0 @@
{
return "SOFTLIMIT=" . ($sqpsmtpd{Softlimit} || $qpsmtpd{Softlimit} || "50000000");
}

View File

@@ -1,3 +0,0 @@
{
return "export TCPLOCALHOST=$SystemName.$DomainName";
}

View File

@@ -0,0 +1,2 @@
# The next line should be set to 0 if you want to offer AUTH without TLS
1

View File

@@ -0,0 +1,5 @@
{
use esmith::ssl;
return $qpsmtpd{tlsCipher} || $modSSL{CipherSuite} || $smeCiphers;
}

Some files were not shown because too many files have changed in this diff Show More