From 27910b990475a6ab48fa027721df613f9affe8cc Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 29 Sep 2018 17:47:56 +0200 Subject: [PATCH] Move audit contrib into `security` subfolder --- evennia/contrib/README.md | 1 + evennia/contrib/security/README.md | 5 +++++ evennia/contrib/{ => security}/auditing/README.md | 4 ++-- evennia/contrib/{ => security}/auditing/__init__.py | 0 evennia/contrib/{ => security}/auditing/outputs.py | 0 evennia/contrib/{ => security}/auditing/server.py | 2 +- evennia/contrib/{ => security}/auditing/tests.py | 4 ++-- 7 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 evennia/contrib/security/README.md rename evennia/contrib/{ => security}/auditing/README.md (94%) rename evennia/contrib/{ => security}/auditing/__init__.py (100%) rename evennia/contrib/{ => security}/auditing/outputs.py (100%) rename evennia/contrib/{ => security}/auditing/server.py (99%) rename evennia/contrib/{ => security}/auditing/tests.py (96%) diff --git a/evennia/contrib/README.md b/evennia/contrib/README.md index c9eaad71f1..fad1802237 100644 --- a/evennia/contrib/README.md +++ b/evennia/contrib/README.md @@ -51,6 +51,7 @@ things you want from here into your game folder and change them there. speaking unfamiliar languages. Also obfuscates whispers. * RPSystem (Griatch 2015) - Full director-style emoting system replacing names with sdescs/recogs. Supports wearing masks. +* Security/Auditing (Johhny 2018) - Log server input/output for debug/security. * Simple Door - Example of an exit that can be opened and closed. * Slow exit (Griatch 2014) - Custom Exit class that takes different time to pass depending on if you are walking/running etc. diff --git a/evennia/contrib/security/README.md b/evennia/contrib/security/README.md new file mode 100644 index 0000000000..87908dd3c8 --- /dev/null +++ b/evennia/contrib/security/README.md @@ -0,0 +1,5 @@ +# Security + +This directory contains security-related contribs + +- Auditing (Johnny 2018) - Allow for optional security logging of user input/output. diff --git a/evennia/contrib/auditing/README.md b/evennia/contrib/security/auditing/README.md similarity index 94% rename from evennia/contrib/auditing/README.md rename to evennia/contrib/security/auditing/README.md index 687fc6edcc..ab669f30c9 100644 --- a/evennia/contrib/auditing/README.md +++ b/evennia/contrib/security/auditing/README.md @@ -33,14 +33,14 @@ Installation/Configuration: Deployment is completed by configuring a few settings in server.conf. This line is required: - SERVER_SESSION_CLASS = 'evennia.contrib.auditing.server.AuditedServerSession' + SERVER_SESSION_CLASS = 'evennia.contrib.security.auditing.server.AuditedServerSession' This tells Evennia to use this ServerSession instead of its own. Below are the other possible options along with the default value that will be used if unset. # Where to send logs? Define the path to a module containing your callback # function. It should take a single dict argument as input - AUDIT_CALLBACK = 'evennia.contrib.auditing.outputs.to_file' + AUDIT_CALLBACK = 'evennia.contrib.security.auditing.outputs.to_file' # Log user input? Be ethical about this; it will log all private and # public communications between players and/or admins (default: False). diff --git a/evennia/contrib/auditing/__init__.py b/evennia/contrib/security/auditing/__init__.py similarity index 100% rename from evennia/contrib/auditing/__init__.py rename to evennia/contrib/security/auditing/__init__.py diff --git a/evennia/contrib/auditing/outputs.py b/evennia/contrib/security/auditing/outputs.py similarity index 100% rename from evennia/contrib/auditing/outputs.py rename to evennia/contrib/security/auditing/outputs.py diff --git a/evennia/contrib/auditing/server.py b/evennia/contrib/security/auditing/server.py similarity index 99% rename from evennia/contrib/auditing/server.py rename to evennia/contrib/security/auditing/server.py index 5c3c2c9f6d..07bf24ccc5 100644 --- a/evennia/contrib/auditing/server.py +++ b/evennia/contrib/security/auditing/server.py @@ -16,7 +16,7 @@ from evennia.server.serversession import ServerSession # Attributes governing auditing of commands and where to send log objects AUDIT_CALLBACK = getattr(ev_settings, 'AUDIT_CALLBACK', - 'evennia.contrib.auditing.outputs.to_file') + 'evennia.contrib.security.auditing.outputs.to_file') AUDIT_IN = getattr(ev_settings, 'AUDIT_IN', False) AUDIT_OUT = getattr(ev_settings, 'AUDIT_OUT', False) AUDIT_ALLOW_SPARSE = getattr(ev_settings, 'AUDIT_ALLOW_SPARSE', False) diff --git a/evennia/contrib/auditing/tests.py b/evennia/contrib/security/auditing/tests.py similarity index 96% rename from evennia/contrib/auditing/tests.py rename to evennia/contrib/security/auditing/tests.py index 7b4dd4208d..4a522925eb 100644 --- a/evennia/contrib/auditing/tests.py +++ b/evennia/contrib/security/auditing/tests.py @@ -7,13 +7,13 @@ from evennia.utils.test_resources import EvenniaTest import re # Configure session auditing settings -settings.AUDIT_CALLBACK = "evennia.contrib.auditing.outputs.to_syslog" +settings.AUDIT_CALLBACK = "evennia.security.contrib.auditing.outputs.to_syslog" settings.AUDIT_IN = True settings.AUDIT_OUT = True settings.AUDIT_ALLOW_SPARSE = True # Configure settings to use custom session -settings.SERVER_SESSION_CLASS = "evennia.contrib.auditing.server.AuditedServerSession" +settings.SERVER_SESSION_CLASS = "evennia.contrib.security.auditing.server.AuditedServerSession" class AuditingTest(EvenniaTest):