You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ponymail.apache.org by hu...@apache.org on 2021/09/25 18:52:44 UTC
[incubator-ponymail-foal] branch master updated (d036c55 -> c2dd0f8)
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git.
from d036c55 tighten up matching of date span
new 1fd2c75 add in a "full gdpr" config switch
new 56b1570 Add a full delete if told to.
new 6a60be0 document admin interface
new c2dd0f8 link to where admins are defined
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
INSTALL.md | 17 +++++++++++++++++
server/endpoints/mgmt.py | 14 +++++++++++---
server/plugins/configuration.py | 2 ++
3 files changed, 30 insertions(+), 3 deletions(-)
[incubator-ponymail-foal] 01/04: add in a "full gdpr" config switch
Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit 1fd2c75bbae106dc6fe2127515907dfb70e48152
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Sat Sep 25 13:49:37 2021 -0500
add in a "full gdpr" config switch
---
server/plugins/configuration.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/server/plugins/configuration.py b/server/plugins/configuration.py
index 7a89d78..66abfab 100644
--- a/server/plugins/configuration.py
+++ b/server/plugins/configuration.py
@@ -40,6 +40,7 @@ class UIConfig:
traceback: bool
mgmt_enabled: bool
focus_domain: str
+ fully_delete: bool
def __init__(self, subyaml: dict):
self.wordcloud = bool(subyaml.get("wordcloud", False))
@@ -51,6 +52,7 @@ class UIConfig:
# Set to false in yaml to redirect to stderr instead.
self.traceback = subyaml.get("traceback", True)
self.mgmt_enabled = bool(subyaml.get("mgmtconsole", False)) # Whether to enable online mgmt component or not
+ self.fully_delete = bool(subyaml.get("true_gdpr", False)) # Whether to enforce full expunging of deleted emails
# Default to all lists, "*". Use "" for host. Wildcard subdomain globs also supported
self.focus_domain = subyaml.get("focus_domain", "*")
[incubator-ponymail-foal] 02/04: Add a full delete if told to.
Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit 56b15709cdec22fead59e16541d21f6d6fe18273
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Sat Sep 25 13:51:16 2021 -0500
Add a full delete if told to.
---
server/endpoints/mgmt.py | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/server/endpoints/mgmt.py b/server/endpoints/mgmt.py
index 68bed57..af031f7 100644
--- a/server/endpoints/mgmt.py
+++ b/server/endpoints/mgmt.py
@@ -57,9 +57,17 @@ async def process(
email = await plugins.messages.get_email(session, permalink=doc)
if email and isinstance(email, dict) and plugins.aaa.can_access_email(session, email):
email["deleted"] = True
- await session.database.index(
- index=session.database.dbs.mbox, body=email, id=email["id"],
- )
+ if server.config.ui.fully_delete and email["id"] and email["dbid"]: # Full on GDPR blast?
+ await session.database.delete(
+ index=session.database.dbs.mbox, id=email["id"],
+ )
+ await session.database.delete(
+ index=session.database.dbs.source, id=email["dbid"],
+ )
+ else: # Standard behavior: hide the email from everyone.
+ await session.database.index(
+ index=session.database.dbs.mbox, body=email, id=email["id"],
+ )
lid = email.get("list_raw", "??")
await plugins.auditlog.add_entry(session, action="delete", target=doc, lid=lid, log=f"Removed email {doc} from {lid} archives")
delcount += 1
[incubator-ponymail-foal] 04/04: link to where admins are defined
Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit c2dd0f88497bc4fb4280cccf53cce47ca49e4b65
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Sat Sep 25 13:52:35 2021 -0500
link to where admins are defined
---
INSTALL.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/INSTALL.md b/INSTALL.md
index f1e51cd..3d808f2 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -188,7 +188,7 @@ ui:
~~~
The administrative interface can be accessed by clicking on the yellow cog in the context menu
-of an email.
+of an email. Admins are defined in the [OAuth](#setting-up-oauth) configuration.
## Hiding tracebacks from users
[incubator-ponymail-foal] 03/04: document admin interface
Posted by hu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
humbedooh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit 6a60be072b0ed8e5ccb0423f9b70e211759f185a
Author: Daniel Gruno <hu...@apache.org>
AuthorDate: Sat Sep 25 13:51:26 2021 -0500
document admin interface
---
INSTALL.md | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/INSTALL.md b/INSTALL.md
index 1588470..f1e51cd 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -11,6 +11,7 @@
- [Setting up Google OAuth](#setting-up-google-oauth)
- [Setting up GitHub OAuth](#setting-up-github-oauth)
- [Setting up web replies](#setting-up-web-replies)
+ - [Online Management Console](#online-management-console)
- [Hiding tracebacks from users](#hiding-tracebacks-from-users)
- [Archiving options](#archiving-options)
@@ -174,6 +175,22 @@ separating each entry with a single space:
Only users logged in via authoritative OAuth will be able to compose replies via the
web interface.
+## Online Management Console
+the `ui` paragraph of the server configuration allows for enabling an administrative interface
+for editing or removing emails from the archives. To enable this, set `mgmtconsole` to `true`.
+For true GDPR compliance (deleting an email deletes from disk), set `true_gdpr` to `true`.
+If left out or set to false, deleted emails are merely hidden, and can be recovered at a later stage.
+
+~~~yaml
+ui:
+ mgmtconsole: true
+ true_gdpr: true
+~~~
+
+The administrative interface can be accessed by clicking on the yellow cog in the context menu
+of an email.
+
+
## Hiding tracebacks from users
By default, API errors will include a full traceback for debugging purposes. If you wish to
instead have this be printed to the system journal (`stderr`), you can set the `traceback`