Exemplo n.º 1
0
class GosaHandler(object):
    def __init__(self):
        self.env = Environment.getInstance()
        self.proxyurl = self.env.config.get('fts.gosa', 'proxy_uri')
        #self.proxy = AMQPServiceProxy('amqps://*****:*****@amqp.intranet.gonicus.de/org.gosa')
        self.proxy = AMQPServiceProxy(self.proxyurl)

    def getBootParams(self, address):
        return self.proxy.systemGetBootString(None, address)
Exemplo n.º 2
0
    def join(self, username, password, data=None):

        # Prepare URL for login
        url = self.url_builder(username, password)

        # Try to log in with provided credentials
        try:
            proxy = AMQPServiceProxy(url)
        except ConnectionError as e:
            self.log.error("connection to AMQP failed: %s" % str(e))
            self.show_error(_("Cannot join client: check user name or password!"))
            return None

        # Try to join client
        try:
            key, uuid = proxy.joinClient(u"" + self.uuid, self.mac, data)
        except JSONRPCException as e:
            self.show_error(e.error.capitalize())
            self.log.error(e.error)
            return None

        # If key is present, write info back to file
        if key:
            self.log.debug("client '%s' joined with key '%s'" % (self.uuid, key))
            config = self.env.config.get("core.config")
            parser = ConfigParser.RawConfigParser()
            parser.read(config)

            # Section present?
            try:
                url = parser.get("amqp", "url")
            except ConfigParser.NoSectionError:
                parser.add_section("amqp")

            # Set url and key
            parser.set("amqp", "url", self.url)
            parser.set("core", "id", uuid)
            parser.set("amqp", "key", key)

            # Write back to file
            with open(config, "wb") as f:
                parser.write(f)

        return key
Exemplo n.º 3
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from gosa.common.components import AMQPServiceProxy

# Create connection to service
proxy = AMQPServiceProxy('amqps://*****:*****@amqp.intranet.gonicus.de/org.gosa')

# List methods
print proxy.getMethods()

# Create samba password hash
print proxy.mksmbhash("secret")
Exemplo n.º 4
0
 def __init__(self):
     self.env = Environment.getInstance()
     self.proxyurl = self.env.config.get('fts.gosa', 'proxy_uri')
     #self.proxy = AMQPServiceProxy('amqps://*****:*****@amqp.intranet.gonicus.de/org.gosa')
     self.proxy = AMQPServiceProxy(self.proxyurl)