aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2014-03-25 15:35:52 +0100
committermakefu <github@syntax-fehler.de>2014-03-25 15:35:52 +0100
commitb8dc4ea2af56884d0908d1c9261f23c76951c567 (patch)
tree22a72f1231121dfc0cf217e5ecaf6bedcab466f4 /commands
parent41170dbfd9bebfc591eb0988d6bfec62707d5982 (diff)
add authentication to Reaktor
using /query <reaktor> identify <password> configuration contains commands and public_commands
Diffstat (limited to 'commands')
-rwxr-xr-xcommands/caps3
-rwxr-xr-xcommands/identify22
2 files changed, 24 insertions, 1 deletions
diff --git a/commands/caps b/commands/caps
index c47319f..d024557 100755
--- a/commands/caps
+++ b/commands/caps
@@ -9,4 +9,5 @@ def load_config(filename):
return imp.load_module(modname, file, pathname, description)
config = load_config(os.environ['config_filename'])
-print(' '.join(filter(None,[ x.get('capname',None) for x in config.commands])))
+print('Private: '+' '.join(filter(None,[ x.get('capname',None) for x in config.commands])))
+print('Public: '+' '.join(filter(None,[ x.get('capname',None) for x in config.public_commands])))
diff --git a/commands/identify b/commands/identify
new file mode 100755
index 0000000..c2fb2c5
--- /dev/null
+++ b/commands/identify
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+import imp
+import os,sys
+
+def load_config(filename):
+ dirname = os.path.dirname(filename)
+ modname, ext = os.path.splitext(os.path.basename(filename))
+ file, pathname, description = imp.find_module(modname, [ dirname ])
+ return imp.load_module(modname, file, pathname, description)
+
+config = load_config(os.environ['config_filename'])
+
+with open(config.admin_file) as f:
+ for line in f:
+ nick,secret = line.split()
+ if sys.argv[1] == secret:
+ print("identified you as %s!"%nick)
+ with open(config.auth_file,'a+') as g:
+ g.write(os.environ['_prefix'] +"\n")
+ sys.exit(0)
+
+print("unable to identify you, sorry")