summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/obmc/wsgi/apps/rest_dbus.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/module/obmc/wsgi/apps/rest_dbus.py b/module/obmc/wsgi/apps/rest_dbus.py
index cda23df..71c8788 100644
--- a/module/obmc/wsgi/apps/rest_dbus.py
+++ b/module/obmc/wsgi/apps/rest_dbus.py
@@ -1181,6 +1181,27 @@ class ContentCheckerPlugin(object):
return self.Checker(content_type, callback)
+class CheckURLPlugin(object):
+ ''' Ensures that anything read and written using the old /org/openbmc route
+ would not be allowed. '''
+ name = 'url_checker'
+ api = 2
+
+ class Checker:
+ def __init__(self, callback):
+ self.callback = callback
+ self.error_str = "org.freedesktop.DBus.Error.FileNotFound: path " \
+ + "or object not found: '%s'"
+
+ def __call__(self, *a, **kw):
+ if "/org/openbmc" in request.url:
+ abort(404, self.error_str % (request.url))
+ return self.callback(*a, **kw)
+
+ def apply(self, callback, route):
+ return self.Checker(callback)
+
+
class App(Bottle):
def __init__(self, **kw):
super(App, self).__init__(autojson=False)
@@ -1207,6 +1228,7 @@ class App(Bottle):
self.install(JsonApiResponsePlugin(self))
self.install(JsonApiRequestPlugin())
self.install(JsonApiRequestTypePlugin())
+ self.install(CheckURLPlugin())
def install_hooks(self):
self.error_handler_type = type(self.default_error_handler)
OpenPOWER on IntegriCloud