summaryrefslogtreecommitdiff
path: root/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'puppet')
-rw-r--r--puppet/modules/site_postfix/manifests/mx.pp24
1 files changed, 22 insertions, 2 deletions
diff --git a/puppet/modules/site_postfix/manifests/mx.pp b/puppet/modules/site_postfix/manifests/mx.pp
index 71d61621..de317205 100644
--- a/puppet/modules/site_postfix/manifests/mx.pp
+++ b/puppet/modules/site_postfix/manifests/mx.pp
@@ -30,13 +30,25 @@ class site_postfix::mx {
'mailbox_size_limit':
value => '0';
'home_mailbox':
- value => 'Maildir/';
+ value => '';
+ 'virtual_mailbox_domains':
+ value => 'deliver.local';
+ 'virtual_mailbox_base':
+ value => '/var/mail/vmail';
+ 'virtual_mailbox_maps':
+ value => 'static:Maildir/';
# Note: virtual-aliases map will take precedence over leap_mx
# lookup (tcp:localhost)
'virtual_alias_maps':
value => 'hash:/etc/postfix/virtual-aliases tcp:localhost:4242';
'luser_relay':
- value => 'vmail';
+ value => '';
+ # uid and gid are set to an arbitrary hard-coded value here, this
+ # must match the 'vmail' user block below
+ 'virtual_uid_maps':
+ value => 'static:42424';
+ 'virtual_gid_maps':
+ value => 'static:42424';
'smtpd_tls_received_header':
value => 'yes';
# Note: we are setting this here, instead of in site_postfix::mx::smtp_tls
@@ -67,11 +79,19 @@ class site_postfix::mx {
# greater verbosity for debugging, take out for production
#include site_postfix::debug
+ # Make the 'vmail' user for leap-mx. This user is where all legitimate,
+ # non-system mail is delivered so leap-mx can process it. Previously, we let
+ # the system pick a uid/gid, but we need to know what they are set to in order
+ # to set the virtual_uid_maps and virtual_gid_maps. Its a bit overkill write a
+ # fact just for this, so instead we pick arbitrary numbers that seem unlikely
+ # to be used and then use them in the postfix configuration
user { 'vmail':
ensure => present,
comment => 'Leap Mailspool',
home => '/var/mail/vmail',
shell => '/bin/false',
+ uid => '42424',
+ gid => '42424',
managehome => true,
}