diff options
author | makefu <github@syntax-fehler.de> | 2014-03-25 15:35:52 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2014-03-25 15:35:52 +0100 |
commit | b8dc4ea2af56884d0908d1c9261f23c76951c567 (patch) | |
tree | 22a72f1231121dfc0cf217e5ecaf6bedcab466f4 /commands/identify | |
parent | 41170dbfd9bebfc591eb0988d6bfec62707d5982 (diff) |
add authentication to Reaktor
using /query <reaktor> identify <password>
configuration contains commands and public_commands
Diffstat (limited to 'commands/identify')
-rwxr-xr-x | commands/identify | 22 |
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") |