aboutsummaryrefslogtreecommitdiffstats
path: root/commands/identify
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/identify
parent41170dbfd9bebfc591eb0988d6bfec62707d5982 (diff)
add authentication to Reaktor
using /query <reaktor> identify <password> configuration contains commands and public_commands
Diffstat (limited to 'commands/identify')
-rwxr-xr-xcommands/identify22
1 files changed, 22 insertions, 0 deletions
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")