def get_current_user(self): # Check for the API token if not GLSettings.appstate.api_token_session_suspended and \ GLSettings.appstate.api_token_session is not None and \ GLSettings.memory_copy.private.admin_api_token_digest: token = bytes(self.request.headers.get('x-api-token', '')) if len(token) != GLSettings.api_token_len: return None token_hash = bytes( GLSettings.memory_copy.private.admin_api_token_digest) if constant_time.bytes_eq(sha512(token), token_hash): return GLSettings.appstate.api_token_session else: GLSettings.appstate.api_token_session_suspended = True msg = "Warning: API Token temporary suspended due to possible attack" log.err(msg) schedule_email_for_all_admins( "%s notification" % GLSettings.memory_copy.name, "API Token temporary suspended due to possible attack") # Check for user session session_id = self.request.headers.get('x-session') if session_id is None: return None return GLSessions.get(session_id)
def migrate_Node(self): old_node = self.store_old.find(self.model_from['Node']).one() new_node = self.model_to['Node']() for _, v in new_node._storm_columns.iteritems(): if v.name == 'receipt_salt': new_node.receipt_salt = sha512(old_node.receipt_salt.encode('utf8'))[:32] continue setattr(new_node, v.name, getattr(old_node, v.name)) self.store_new.add(new_node)
def migrate_Node(self): old_node = self.store_old.find(self.model_from['Node']).one() new_node = self.model_to['Node']() for _, v in new_node._storm_columns.iteritems(): if v.name == 'receipt_salt': new_node.receipt_salt = sha512(old_node.receipt_salt.encode('utf8'))[:32] continue setattr(new_node, v.name, getattr(old_node, v.name)) self.store_new.add(new_node)
def migrate_User(self): old_objs = self.store_old.find(self.model_from['User']) for old_obj in old_objs: new_obj = self.model_to['User']() for _, v in new_obj._storm_columns.items(): if v.name == 'salt': new_obj.salt = sha512(old_obj.salt.encode('utf8'))[:32] continue setattr(new_obj, v.name, getattr(old_obj, v.name)) self.store_new.add(new_obj)
def migrate_User(self): old_objs = self.store_old.find(self.model_from['User']) for old_obj in old_objs: new_obj = self.model_to['User']() for _, v in new_obj._storm_columns.iteritems(): if v.name == 'salt': new_obj.salt = sha512(old_obj.salt.encode('utf8'))[:32] continue setattr(new_obj, v.name, getattr(old_obj, v.name)) self.store_new.add(new_obj)