Mercurial > libervia-backend
changeset 948:abd3a75d629c
plugin account: prosody gid is used to spawn prosodyctl process
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 31 Mar 2014 12:23:10 +0200 |
parents | 61c4755f0394 |
children | b4cd968e30fb |
files | src/plugins/plugin_misc_account.py |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/plugin_misc_account.py Fri Mar 28 19:19:11 2014 +0100 +++ b/src/plugins/plugin_misc_account.py Mon Mar 31 12:23:10 2014 +0200 @@ -64,6 +64,7 @@ class ProsodyRegisterProtocol(protocol.ProcessProtocol): """ Try to register an account with prosody """ + prosody_gid = None def __init__(self, password=None, deferred=None): """ @@ -73,6 +74,14 @@ self.password = password self.deferred = deferred self.data = '' + if ProsodyRegisterProtocol.prosody_gid is None: + try: + import grp + ProsodyRegisterProtocol.prosody_gid = grp.getgrnam("prosody").gr_gid + info("prosody gid found: %s" % ProsodyRegisterProtocol.prosody_gid) + except: + warning("Can't find prosody gid") + def connectionMade(self): if self.password is None: @@ -107,7 +116,7 @@ prosody_reg = ProsodyRegisterProtocol(password, d) prosody_exe = join(plugin._prosody_path, plugin.getConfig('prosodyctl')) # TODO delete account which are not on the same host - reactor.spawnProcess(prosody_reg, prosody_exe, [prosody_exe, command, "%s@%s" % (profile, plugin.getConfig('new_account_domain'))], path=plugin._prosody_path) + reactor.spawnProcess(prosody_reg, prosody_exe, [prosody_exe, command, "%s@%s" % (profile, plugin.getConfig('new_account_domain'))], path=plugin._prosody_path, gid=ProsodyRegisterProtocol.prosody_gid) return d