fliu
41f0461ac7
email: postfix: Install LDAP map support
2021-08-17 19:43:39 -07:00
fliu
a234407b97
email: Implement view for setting up domains
2021-08-17 19:43:36 -07:00
fliu
502cfa4953
email: Add templates for TLS and domains
2021-08-17 19:43:33 -07:00
fliu
62c501e9c7
email: Add UI for creating the home directory
...
email_server:
- `-i` option passes all remaining arguments to action
- delete unused "touch file" option
Views:
- delete broken links
- add tabs to every page
- separate admin tabs from user tabs
2021-08-17 19:43:30 -07:00
fliu
2bd1ad4533
email: aliases: Use bootstrap styles
...
Other changes:
- Added license identifiers
- Fixed linter warnings
- Deleted excessive parameters in rendering code
2021-08-17 19:43:26 -07:00
fliu
4375828703
email: Implement alias management
...
- Separate alias database from system
- Block mail to system users, without backscatter
- Alias management UI for non-admin users
- Enabling/Disabling aliases (mails to /dev/null)
Misc. changes
- Daemon management
- Backup information
- Postconf diagnostics interface
2021-08-17 19:43:23 -07:00
fliu
a9ac51eb7b
email: views: Implement tab rendering
2021-08-17 19:43:20 -07:00
fliu
8c740e08da
email: diagnostics: Fix sudo permission problem
2021-08-17 19:43:17 -07:00
fliu
0acbe5dd6b
email: Support UID number lookup in Dovecot
2021-08-17 19:43:14 -07:00
fliu
91c907f657
email: Open lock file as plinth user
2021-08-17 19:43:11 -07:00
fliu
e2535bad49
email: audit: improve the speed of post-installation setup
...
- New class: `MainCfDiagnosis`
- "Advise and repair" mechanism reduces the number of postconf calls
- File locking: lock acquisition moved into audit module
- Enables finer-grained control
2021-08-17 19:43:07 -07:00
fliu
573287cf28
email: postconf: Handle postconf returning an empty key
...
However, if /sbin/postconf complained, a KeyError will be raised
2021-08-17 19:43:04 -07:00
fliu
7397326d57
email: mutex: create lock file as plinth user
2021-08-17 19:42:58 -07:00
fliu
df14e74972
email: Parse command arguments with a mutually exclusive group
2021-08-17 19:42:55 -07:00
fliu
7166e63b02
email: Install rspamd; proxy its web interface
2021-08-17 19:42:51 -07:00
fliu
758c8791f1
email: Address some code review comments
...
- __init__.py: Changed email server description
- audit module: Added module docstring
- email_server action:
- Used argparse
- Replaced "wrapper functions" with a getattr based lookup method
2021-08-17 19:42:48 -07:00
fliu
81c9632f5a
email: dovecot: Support user lookup by UID number
...
Dovecot refuses to open the root user's mail box
Need (!(uidNumber=0)) to correctly return status code
2021-08-17 19:42:45 -07:00
fliu
f20929c23f
email: Fix enabling SMTPS; check return value
...
- master.cf: Enable SMTPS
- lock.Mutex: check the return value of lock.acquire
- Write debug logs
2021-08-17 19:42:42 -07:00
fliu
10c3a667b6
email: Code quality fixes
...
- flake8: Delete unused imports
- lock.Mutex: Set file mode (rw-rw----) and ownership (plinth:plinth)
2021-08-17 19:42:39 -07:00
fliu
ba179a860e
email: Set up local delivery (no spam filtering)
...
Hosts file:
192.168.56.101 host1.test.example virtualbox
10.42.0.101 host2.test.example freedombox
Container setup (run commands in container)
1. Install the email server module
2. Create a FreedomBox account for `fred`
3.
$ sudo postconf myhostname=host2.test.example
$ echo "contactfred: fred" | sudo tee -a /etc/aliases
$ sudo newaliases
$ sudo systemctl reload postfix
Test IMAP (run on host1.test.example)
$ swaks --to=contactfred@host2.test.example --from=spam@host1.test.example
$ mutt -f imaps://fred@host2.test.example
Test mail submission (run in container):
$ swaks --to=spam@host1.test.example --from=contactfred@host2.test.example \
--server host2.test.example:587 --tlso --auth-user=fred
2021-08-17 19:42:36 -07:00
fliu
fdc6f23908
email: Implement email_server ipc set_sasl and set_submission
...
- Rewrote action script to eliminate stdin communication
- Changed return type of audit.*.get()
- An audit can return multiple lines of diagnostics
- Move recommended endpoint URLs into function docstrings
2021-08-17 19:42:32 -07:00
fliu
cde0b47064
email: Enable LDAP by calling postconf in a thread-safe way
...
- Implemented `email_server ipc postconf_set_many_v1`
- Implemented `lock.Mutex` (fcntl.lockf and threading.Lock based mutex)
- FIXME: Lock file permissions
- Implemented `postconf` (thread-safe postconf operations)
- Started using service orientation
2021-08-17 19:42:29 -07:00
fliu
aaa6342f93
email: Basic app to manage an email server
...
- Install postfix and manage the service
- Import ugettext
- Dummy forms and views
- <module>.version (integer) is required
[sunil: Disable the app until remaining issues are worked out]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-08-17 19:42:26 -07:00