Mercurial > prosody-modules
view mod_auth_external_insecure/examples/python/prosody-auth-example.py @ 4326:f6fdefc5c6ac
mod_roster_command: Fix subscription when the "user JID" is a bare domain.
Do not attempt to update the roster when the user is bare domain (e.g. a
component), since they don't have rosters and the attempt results in an error:
$ prosodyctl mod_roster_command subscribe proxy.example.com contact@example.com
xxxxxxxxxxFailed to execute command: Error: /usr/lib/prosody/core/rostermanager.lua:104: attempt to concatenate local 'username' (a nil value)
stack traceback:
/usr/lib/prosody/core/rostermanager.lua:104: in function 'load_roster'
/usr/lib/prosody/core/rostermanager.lua:305: in function 'set_contact_pending_out'
mod_roster_command.lua:44: in function 'subscribe'
author | Boris Grozev <boris@jitsi.org> |
---|---|
date | Tue, 05 Jan 2021 13:15:00 -0600 |
parents | f84ede3e9e3b |
children |
line wrap: on
line source
#!/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)