Commit graph

6 commits

Author SHA1 Message Date
fox.cpp
bcceec4fe4
Extract several packages to form a public API 2020-07-15 01:31:06 +03:00
fox.cpp
e19d21dfcb
Fully separate authentication from IMAP access
Now imapsql module does not handle authentication. (it was not doing it so well
anyway)

sql_table module was introduced and used in the default configuration as
a replacement for functionality that was implemented by imapsql before.

Parts of maddyctl code were rewritten to make it work transparently with
any IMAP backend or credentials store.

Closes #212.
2020-04-14 00:06:47 +03:00
fox.cpp
55a91a37b7
Revert authorization/authentication split
Authentication provider module is responsible only for authentication.
Nothing more. Access control (authorization) should be kept separate.
2020-02-28 01:38:40 +03:00
fox.cpp
eaaadfa6df
Implement & integrate generic SASL authentication support
This should make it possible to implement OAuth and TLS client
certificates authentication.
2020-02-27 21:40:04 +03:00
fox.cpp
a45c7090c4
Improve auth. provider interface
The authentication provider can now provide multiple authorization
identities associated with credentials. Protocols that support that
(e.g. JMAP, SASL) can let the client select the wanted identity.
2020-02-27 01:22:47 +03:00
fox.cpp
bf188e454f
Move most code from the repo root into subdirectories
The intention is to keep to repo root clean while the list of packages
is slowly growing.

Additionally, a bunch of small (~30 LoC) files in the repo root is
merged into a single maddy.go file, for the same reason.

Most of the internal code is moved into the internal/ directory. Go
toolchain will make it impossible to import these packages from external
applications.

Some packages are renamed and moved into the pkg/ directory in the root.
According to https://github.com/golang-standards/project-layout this is
the de-facto standard to place "library code that's ok to use by
external applications" in.

To clearly define the purpose of top-level directories, README.md files
are added to each.
2019-12-06 01:35:12 +03:00
Renamed from module/auth.go (Browse further)