def build_rpclib_params(self, config): ret = {} kmap = { 'server_url' : 'uri', 'proxy_user' : 'username', 'proxy_password' : 'password', 'proxy_url' : 'proxy', } for k, v in kmap.items(): if config.has_key(k): val = config[k] if val is not None: ret[v] = val return ret
def build_rpclib_params(self, config): ret = {} kmap = { 'server_url': 'uri', 'proxy_username': '******', 'proxy_password': '******', 'proxy_url': 'proxy', } for k, v in kmap.items(): if config.has_key(k): val = config[k] if val is not None: ret[v] = val return ret
def _setup_config(self, config, force=0): logfile = self.options.logfile if logfile is None or logfile == '': logfile = config['logfile'] debug_level = self.options.verbose if debug_level is None: dl = config['debug_level'] if dl is not None: debug_level = int(dl) else: dl = 0 set_logfile(logfile) self.debug_level = debug_level set_debug_level(debug_level) self._tcp_keepalive_timeout = config['tcp_keepalive_timeout'] self._tcp_keepalive_count = config['tcp_keepalive_count'] log_debug(3, "Updating configuration") client_ssl_cert = config['ssl_ca_cert'] osa_ssl_cert = config['osa_ssl_cert'] or client_ssl_cert if osa_ssl_cert is None: die("No SSL cert supplied") self.ssl_cert = osa_ssl_cert auth_info = self.read_auth_info(force) self._username = auth_info['username'] self._password = auth_info['password'] self._resource = auth_info['resource'] params = self.build_rpclib_params(config) server_url = params.get('uri') self._jabber_servers = [] if self.options.jabber_server: self._jabber_servers.append(self.options.jabber_server) if type(server_url) == type([]): for su in server_url: a_su = self._parse_url(su)[1] self._jabber_servers.append(a_su) else: upstream_jabber_server = self._parse_url(server_url)[1] if upstream_jabber_server not in self._jabber_servers: self._jabber_servers.append(upstream_jabber_server) if type(server_url) != type([]): server_url = [server_url] for su in server_url: try: params['uri'] = su self._xmlrpc_server = s = apply(rpclib.Server, (), params) if osa_ssl_cert: s.add_trusted_cert(osa_ssl_cert) s.registration.welcome_message() server_capabilities = get_server_capability(s) if not server_capabilities.has_key('registration.register_osad'): die("Server does not support OSAD registration") self._systemid_file = systemid_file = config['systemid'] self._systemid = systemid = open(systemid_file).read() current_timestamp = int(time.time()) ret = s.registration.register_osad(systemid, {'client-timestamp' : current_timestamp}) break except: continue else: #for ret = {} #Bugzilla: 142067 #If the server doesn't have push support. 'ret' won't have anything in it. if len(ret.keys()) < 1: raise jabber_lib.JabberConnectionError server_timestamp = ret.get('server-timestamp') # Compute the time drift between the client and the server self._time_drift = server_timestamp - current_timestamp log_debug(2, "Time drift", self._time_drift) js = ret.get('jabber-server') if js not in self._jabber_servers: self._jabber_servers.append(js) if not self._jabber_servers: die("Missing jabber server") if not config.has_key('enable_failover') or config['enable_failover'] != '1': self._jabber_servers = [self._jabber_servers[0]] self._dispatchers = ret.get('dispatchers') self._client_name = ret.get('client-name') self._shared_key = ret.get('shared-key') log_debug(2, "Client name", self._client_name) log_debug(2, "Shared key", self._shared_key) # Load the config self._config_options.clear() self._config_options.update(config) # No reason to expose these at the Client level - but if we have to, # uncommment some of the values below self._config_options.update({ # 'jabber-servers' : self._jabber_servers, # 'dispatchers' : self._dispatchers, # 'client_name' : self._client_name, # 'shared_key' : self._shared_key, })
def _setup_config(self, config, force=0): logfile = self.options.logfile if logfile is None or logfile == '': logfile = config['logfile'] debug_level = self.options.verbose if debug_level is None: dl = config['debug_level'] if dl is not None: debug_level = int(dl) else: dl = 0 set_logfile(logfile) self.debug_level = debug_level set_debug_level(debug_level) self._tcp_keepalive_timeout = config['tcp_keepalive_timeout'] self._tcp_keepalive_count = config['tcp_keepalive_count'] log_debug(3, "Updating configuration") client_ssl_cert = config['ssl_ca_cert'] osa_ssl_cert = config['osa_ssl_cert'] or client_ssl_cert if osa_ssl_cert is None: die("No SSL cert supplied") self.ssl_cert = osa_ssl_cert auth_info = self.read_auth_info(force) self._username = auth_info['username'] self._password = auth_info['password'] self._resource = auth_info['resource'] params = self.build_rpclib_params(config) server_url = params.get('uri') self._jabber_servers = [] if self.options.jabber_server: self._jabber_servers.append(self.options.jabber_server) if type(server_url) == type([]): for su in server_url: a_su = self._parse_url(su)[1] self._jabber_servers.append(a_su) else: upstream_jabber_server = self._parse_url(server_url)[1] if upstream_jabber_server not in self._jabber_servers: self._jabber_servers.append(upstream_jabber_server) if type(server_url) != type([]): server_url = [server_url] for su in server_url: try: params['uri'] = su self._xmlrpc_server = s = apply(rpclib.Server, (), params) if osa_ssl_cert: s.add_trusted_cert(osa_ssl_cert) s.registration.welcome_message() server_capabilities = get_server_capability(s) if not server_capabilities.has_key( 'registration.register_osad'): die("Server does not support OSAD registration") self._systemid_file = systemid_file = config['systemid'] self._systemid = systemid = open(systemid_file).read() current_timestamp = int(time.time()) ret = s.registration.register_osad( systemid, {'client-timestamp': current_timestamp}) break except: continue else: #for ret = {} #Bugzilla: 142067 #If the server doesn't have push support. 'ret' won't have anything in it. if len(ret.keys()) < 1: raise jabber_lib.JabberConnectionError server_timestamp = ret.get('server-timestamp') # Compute the time drift between the client and the server self._time_drift = server_timestamp - current_timestamp log_debug(2, "Time drift", self._time_drift) js = ret.get('jabber-server') if js not in self._jabber_servers: self._jabber_servers.append(js) if not self._jabber_servers: die("Missing jabber server") if not config.has_key( 'enable_failover') or config['enable_failover'] != '1': self._jabber_servers = [self._jabber_servers[0]] self._dispatchers = ret.get('dispatchers') self._client_name = ret.get('client-name') self._shared_key = ret.get('shared-key') log_debug(2, "Client name", self._client_name) log_debug(2, "Shared key", self._shared_key) # Load the config self._config_options.clear() self._config_options.update(config) # No reason to expose these at the Client level - but if we have to, # uncommment some of the values below self._config_options.update({ # 'jabber-servers' : self._jabber_servers, # 'dispatchers' : self._dispatchers, # 'client_name' : self._client_name, # 'shared_key' : self._shared_key, })
def _setup_config(self, config, force=0): logfile = self.options.logfile if logfile is None or logfile == '': logfile = config['logfile'] debug_level = self.options.verbose if debug_level is None: dl = config['debug_level'] if dl is not None: debug_level = int(dl) else: dl = 0 set_logfile(logfile) self.debug_level = debug_level set_debug_level(debug_level) self._tcp_keepalive_timeout = config['tcp_keepalive_timeout'] self._tcp_keepalive_count = config['tcp_keepalive_count'] log_debug(3, "Updating configuration") client_ssl_cert = config['ssl_ca_cert'] osa_ssl_cert = config['osa_ssl_cert'] or client_ssl_cert if osa_ssl_cert is None: die("No SSL cert supplied") self.ssl_cert = osa_ssl_cert auth_info = self.read_auth_info(force) self._username = auth_info['username'] self._password = auth_info['password'] self._resource = auth_info['resource'] server_url = config.get('server_url') self._jabber_servers = [] if self.options.jabber_server: self._jabber_servers.append(self.options.jabber_server) if type(server_url) == type([]): for su in server_url: a_su = self._parse_url(su)[1] self._jabber_servers.append(a_su) else: upstream_jabber_server = self._parse_url(server_url)[1] if upstream_jabber_server not in self._jabber_servers: self._jabber_servers.append(upstream_jabber_server) if not config.has_key( 'enable_failover') or config['enable_failover'] != '1': self._jabber_servers = [self._jabber_servers[0]] # Load the config self._config_options.clear() self._config_options.update(config) # No reason to expose these at the Client level - but if we have to, # uncommment some of the values below self._config_options.update({ # 'jabber-servers' : self._jabber_servers, # 'dispatchers' : self._dispatchers, # 'client_name' : self._client_name, # 'shared_key' : self._shared_key, })
def _setup_config(self, config, force=0): logfile = self.options.logfile if logfile is None or logfile == '': logfile = config['logfile'] debug_level = self.options.verbose if debug_level is None: dl = config['debug_level'] if dl is not None: debug_level = int(dl) else: dl = 0 set_logfile(logfile) self.debug_level = debug_level set_debug_level(debug_level) self._tcp_keepalive_timeout = config['tcp_keepalive_timeout'] self._tcp_keepalive_count = config['tcp_keepalive_count'] log_debug(3, "Updating configuration") client_ssl_cert = config['ssl_ca_cert'] osa_ssl_cert = config['osa_ssl_cert'] or client_ssl_cert if osa_ssl_cert is None: die("No SSL cert supplied") self.ssl_cert = osa_ssl_cert auth_info = self.read_auth_info(force) self._username = auth_info['username'] self._password = auth_info['password'] self._resource = auth_info['resource'] server_url = config.get('server_url') self._jabber_servers = [] if self.options.jabber_server: self._jabber_servers.append(self.options.jabber_server) if type(server_url) == type([]): for su in server_url: a_su = self._parse_url(su)[1] self._jabber_servers.append(a_su) else: upstream_jabber_server = self._parse_url(server_url)[1] if upstream_jabber_server not in self._jabber_servers: self._jabber_servers.append(upstream_jabber_server) if not config.has_key('enable_failover') or config['enable_failover'] != '1': self._jabber_servers = [self._jabber_servers[0]] # Load the config self._config_options.clear() self._config_options.update(config) # No reason to expose these at the Client level - but if we have to, # uncommment some of the values below self._config_options.update({ # 'jabber-servers' : self._jabber_servers, # 'dispatchers' : self._dispatchers, # 'client_name' : self._client_name, # 'shared_key' : self._shared_key, })