James Hillyerd
30e3892cb0
webui, rest: Render UTF-8 addresses correctly, fixes #117
2018-10-22 18:29:03 -07:00
James Hillyerd
98745b3bb9
web: Optionally mount /debug/pprof for #120
...
- web: eliminate use of http.DefaultServeMux
2018-10-20 16:16:09 -07:00
James Hillyerd
0d7c94c531
smtp: add missing log message param
2018-10-20 11:13:39 -07:00
kingforaday
00dad88bde
Fixing an erroneous connection close introduced in #98 . ( #101 )
2018-05-20 09:51:40 -07:00
James Hillyerd
fdcb29a52b
smtp: rename readByteLine to readDataBlock for #98 .
...
Update change log.
2018-05-06 12:09:55 -07:00
kingforaday
894db04d70
Opportunistic TLS Support ( #98 )
...
* STARTTLS Support, disabled by default.
* Added documentation
2018-05-06 11:56:38 -07:00
James Hillyerd
12f98868ba
smtp/policy: Store messages with full naming for #33
...
- Added some tests to make sure stores do not enforce their own naming.
- Improve recipient structured logging.
2018-04-07 13:06:56 -07:00
James Hillyerd
ff2121fbb9
policy: Add support for MailboxNaming to ExtractMailbox for #33
2018-04-04 20:22:40 -07:00
James Hillyerd
c2e1d58b90
policy: Accept Root config instead of SMTP for #33
2018-04-02 19:43:05 -07:00
James Hillyerd
064549f576
policy: Implement store domain policy for #51
...
- Update docs, change log, status.html
2018-04-01 19:59:04 -07:00
James Hillyerd
a7d2b00a9c
policy: Implement recipient domain policy for #51
...
- INBUCKET_SMTP_DEFAULTACCEPT
- INBUCKET_SMTP_ACCEPTDOMAINS
- INBUCKET_SMTP_REJECTDOMAINS
2018-04-01 18:05:21 -07:00
James Hillyerd
3fe4140733
pop3, smtp: embed Server struct into Session for #91
2018-03-31 17:09:30 -07:00
James Hillyerd
7b073562eb
pop3: Use config.POP3 directly in server #91
2018-03-31 17:01:02 -07:00
James Hillyerd
2c813081eb
smtp: Use config.SMTP directly in Server #91
2018-03-31 16:49:52 -07:00
James Hillyerd
e076f80416
smtp: Use zerolog hooks for warns/errors expvars #90
2018-03-31 14:06:58 -07:00
James Hillyerd
92f2da5025
server: -netdebug flag now controls tracing for #90
...
Network trace is sent to stdout, no longer part of normal debug
logging.
2018-03-31 13:37:42 -07:00
James Hillyerd
6601d156be
metric: new pkg refactored from log for #90
2018-03-31 12:16:54 -07:00
James Hillyerd
779b1e63af
smtp, pop3: Use zerolog for session logging #90
2018-03-27 21:52:28 -07:00
James Hillyerd
6f25a1320e
pop3, smtp: rename Session method receivers to s
2018-03-27 20:51:13 -07:00
James Hillyerd
e2ba10c8ca
Replace pkg/log with zerolog for normal logging #90
2018-03-27 20:26:06 -07:00
James Hillyerd
04bb842549
config: Combine TemplateDir and PublicDir into UIDir
...
- Define static names for `templates` and `static`
2018-03-25 11:55:23 -07:00
James Hillyerd
f0a94f4848
More config cleanups for #86
2018-03-22 20:03:05 -07:00
James Hillyerd
845cbedc0d
config: Replace robfig with envconfig for #86
...
- Initial envconfig system is working, not bulletproof.
- Added sane defaults for required parameters.
2018-03-21 22:50:21 -07:00
James Hillyerd
30a329c0d3
Renames, closes #69
...
- storage: rename StoreMessage to Message
- storage: rename Message.RawReader() to Source()
2018-03-17 17:56:06 -07:00
James Hillyerd
f953bcf4bb
smtp: Move delivery into message.Manager for #69
2018-03-17 17:04:12 -07:00
James Hillyerd
dc4db59211
smtp: Don't require MIME headers for metadata
...
This was a regression, will again fall back to MAIL FROM/RCPT TO data.
2018-03-17 14:41:03 -07:00
James Hillyerd
e84b1f8952
storage: Make locking an implementation detail for #69
...
- file: Store handles its own locking #77
- file: Move mbox into its own file
- file & test: remove LockFor()
2018-03-17 14:02:50 -07:00
James Hillyerd
b9003a9328
smtp: Wire in policy.Recipient for #84
2018-03-17 12:39:09 -07:00
James Hillyerd
d132efd6fa
policy: Create new policy package for #84
2018-03-17 09:48:53 -07:00
James Hillyerd
5e13e50763
test: Start work on test suite for #82
...
- smtp: Tidy up []byte/buffer/string use in delivery #69
2018-03-14 22:51:40 -07:00
James Hillyerd
2cc0da3093
storage: More refactoring for #69
...
- impl Store.AddMessage
- file: Use AddMessage() in tests
- smtp: Switch to AddMessage
- storage: Remove NewMessage, Append, Close methods
2018-03-14 20:37:20 -07:00
James Hillyerd
219862797e
web: remove DataStore from Context and controllers for #81
2018-03-12 20:49:06 -07:00
James Hillyerd
10bc07a18e
message: Implement service layer, stubs for #81
...
I've made some effort to wire the manager into the controllers, but
tests are currently failing.
2018-03-12 20:21:59 -07:00
James Hillyerd
3bc66d2788
storage: Store addresses as mail.Address for #69
2018-03-11 16:57:53 -07:00
James Hillyerd
487e491d6f
storage: Message refactoring for #69
...
- Message interface renamed to StoreMessage
- Message.Delete becomes Store.RemoveMessage
- Added deleted message tracking to Store stub for #80
2018-03-11 15:01:40 -07:00
James Hillyerd
12ad0cb3f0
storage: Eliminate storage.Mailbox interface for #69
...
storage/file Mailbox has been renamed mbox, and is now just an
implementation detail.
2018-03-11 11:54:35 -07:00
James Hillyerd
137466f89b
storage: Move NewMessage() into Store interface for #69
2018-03-11 10:48:50 -07:00
James Hillyerd
d9b5e40c87
storage: More refactoring for #69
...
- retention: Start from pkg main instead of server/smtp
- file: Remove DefaultStore() constructor
- storage: AllMailboxes replaced with VisitMailboxes for #69
- test: Stub VisitMailboxes for #80
2018-03-10 22:05:10 -08:00
James Hillyerd
9c18f1fb30
Large refactor for #69
...
- makefile: Don't refresh deps automatically, causes double build
- storage: Move GetMessage, GetMessages (Mailbox), PurgeMessages to the
Store API for #69
- storage: Remove Mailbox.Name method for #69
- test: Create new test package for #79
- test: Implement StoreStub, migrate some tests off MockDataStore for
task #80
- rest & webui: update controllers to use new Store methods
2018-03-10 19:34:51 -08:00
James Hillyerd
a58dfc5e4f
storage: finish renaming storage packages for #79 #69
...
- storage: rename DataStore to Store
- file: rename types to appease linter
2018-03-10 14:00:21 -08:00
James Hillyerd
f8c30a678a
Reorganize packages, closes #79
...
- All packages go into either cmd or pkg directories
- Most packages renamed
- Server packages moved into pkg/server
- sanitize moved into webui, as that's the only place it's used
- filestore moved into pkg/storage/file
- Makefile updated, and PKG variable use fixed
2018-03-10 12:04:13 -08:00