def set_onion_service_info(store, hostname, key): node_fact = NodeFactory(store) node_fact.set_val(u'onionservice', hostname) priv_fact = PrivateFactory(store) priv_fact.set_val(u'tor_onion_key', key) GLApiCache.invalidate()
def wizard(store, request, language): node = NodeFactory(store) if node.get_val('wizard_done'): # TODO report as anomaly log.err("DANGER: Wizard already initialized!") raise errors.ForbiddenOperation try: node._query_group() node.set_val('name', request['node']['name']) node.set_val('default_language', language) node.set_val('wizard_done', True) if GLSettings.onionservice is not None: node.set_val('onionservice', GLSettings.onionservice) node_l10n = NodeL10NFactory(store) node_l10n.set_val('description', language, request['node']['description']) node_l10n.set_val('header_title_homepage', language, request['node']['name']) context = db_create_context(store, request['context'], language) langs_to_drop = EnabledLanguage.list(store) langs_to_drop.remove(language) if len(langs_to_drop): EnabledLanguage.remove_old_langs(store, langs_to_drop) request['receiver']['contexts'] = [context.id] request['receiver']['language'] = language db_create_receiver(store, request['receiver'], language) admin_dict = { 'username': u'admin', 'password': request['admin']['password'], 'role': u'admin', 'state': u'enabled', 'deletable': False, 'name': u'Admin', 'public_name': u'Admin', 'description': u'', 'mail_address': request['admin']['mail_address'], 'language': language, 'password_change_needed': False, 'pgp_key_remove': False, 'pgp_key_fingerprint': '', 'pgp_key_public': '', 'pgp_key_expiration': datetime_null() } db_create_admin_user(store, admin_dict, language) except Exception as excep: log.err("Failed wizard initialization %s" % excep) raise excep
def db_update_node(store, request, language): """ Update and serialize the node infos :param store: the store on which perform queries. :param language: the language in which to localize data :return: a dictionary representing the serialization of the node """ enable_disable_languages(store, request) if language in request['languages_enabled']: node_l10n = NodeL10NFactory(store) node_l10n.update(request, language) node = NodeFactory(store) node.update(request) if request[ 'basic_auth'] and request['basic_auth_username'] != '' and request[ 'basic_auth_password'] != '': node.set_val('basic_auth', True) node.set_val('basic_auth_username', request['basic_auth_username']) node.set_val('basic_auth_password', request['basic_auth_password']) else: node.set_val('basic_auth', False) db_refresh_memory_variables(store) # TODO pass instance of db_update_node into admin_serialize return db_admin_serialize_node(store, language)
def db_update_node(store, request, language): """ Update and serialize the node infos :param store: the store on which perform queries. :param language: the language in which to localize data :return: a dictionary representing the serialization of the node """ enable_disable_languages(store, request) if language in request["languages_enabled"]: node_l10n = NodeL10NFactory(store) node_l10n.update(request, language) node = NodeFactory(store) node.update(request) if request["basic_auth"] and request["basic_auth_username"] != "" and request["basic_auth_password"] != "": node.set_val("basic_auth", True) node.set_val("basic_auth_username", request["basic_auth_username"]) node.set_val("basic_auth_password", request["basic_auth_password"]) else: node.set_val("basic_auth", False) db_refresh_memory_variables(store) # TODO pass instance of db_update_node into admin_serialize return db_admin_serialize_node(store, language)
def wizard(store, request, language): node = NodeFactory(store) if node.get_val('wizard_done'): # TODO report as anomaly log.err("DANGER: Wizard already initialized!") raise errors.ForbiddenOperation try: node._query_group() nn = unicode(request['node']['name']) node.set_val('name', nn) node.set_val('default_language', language) node.set_val('wizard_done', True) node_l10n = NodeL10NFactory(store) node_l10n.set_val('description', language, nn) node_l10n.set_val('header_title_homepage', language, nn) node_l10n.set_val('presentation', language, nn) context = db_create_context(store, request['context'], language) langs_to_drop = EnabledLanguage.list(store) langs_to_drop.remove(language) if len(langs_to_drop): EnabledLanguage.remove_old_langs(store, langs_to_drop) request['receiver']['contexts'] = [context.id] request['receiver']['language'] = language db_create_receiver(store, request['receiver'], language) admin_dict = { 'username': u'admin', 'password': request['admin']['password'], 'role': u'admin', 'state': u'enabled', 'deletable': False, 'name': u'Admin', 'public_name': u'Admin', 'description': u'', 'mail_address': request['admin']['mail_address'], 'language': language, 'password_change_needed': False, 'pgp_key_remove': False, 'pgp_key_fingerprint': '', 'pgp_key_public': '', 'pgp_key_expiration': datetime_null() } db_create_admin_user(store, admin_dict, language) except Exception as excep: log.err("Failed wizard initialization %s" % excep) raise excep
def set_onion_service_info(store, hostname, key): node_fact = NodeFactory(store) node_fact.set_val('onionservice', hostname) priv_fact = PrivateFactory(store) priv_fact.set_val('tor_onion_key', key)