Software /
code /
prosody-modules
Diff
mod_auth_external_insecure/examples/python/prosody-auth-example.py @ 3884:f84ede3e9e3b
mod_auth_external->mod_auth_external_insecure: Unmaintained and almost certainly insecure, discourage its use
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 06 Feb 2020 21:03:17 +0000 |
parent | 1194:f5eadba27120 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_auth_external_insecure/examples/python/prosody-auth-example.py Thu Feb 06 21:03:17 2020 +0000 @@ -0,0 +1,29 @@ +#!/usr/bin/env python2 + +import sys + +def auth(username, password): + if username == "someone": + return "1" + return "0" + +def respond(ret): + sys.stdout.write(ret+"\n") + sys.stdout.flush() + +methods = { + "auth": { "function": auth, "parameters": 2 } +} + +while 1: + line = sys.stdin.readline().rstrip("\n") + method, sep, data = line.partition(":") + if method in methods: + method_info = methods[method] + split_data = data.split(":", method_info["parameters"]) + if len(split_data) == method_info["parameters"]: + respond(method_info["function"](*split_data)) + else: + respond("error: incorrect number of parameters to method '%s'"%method) + else: + respond("error: method '%s' not implemented"%method)