def loginUser(self, username, password, handler): try: SALT = getConfig('encryption.salt') USER_SALT = getConfig('encyption.user_salt') except Exception as e: if DEBUG: print e return None from base64 import b64encode try: from Utils.funcs import decryptUserData except Exception as e: if DEBUG: print e from lib.Frontend.Utils.funcs import decryptUserData try: user_root = "%s.txt" % generateMD5Hash(content=username, salt=USER_SALT) with open(os.path.join(USER_ROOT, user_root), 'rb') as UD: user_data = decryptUserData(UD.read(), password, p_salt=SALT) if user_data is None: return None try: if user_data['admin']: del user_data['admin'] handler.set_secure_cookie(UnveillanceCookie.ADMIN, "true", path="/", expires_days=1) if not self.do_get_drive_status(): self.initDriveClient() if "annex_key_sent" not in user_data.keys( ) or not user_data['annex_key_sent']: if self.drive_client.checkAnnexKeyStatus(): user_data['annex_key_sent'] = True except KeyError as e: if DEBUG: print e pass handler.set_secure_cookie(UnveillanceCookie.USER, b64encode(json.dumps(user_data)), path="/", expires_days=1) return user_data except Exception as e: if DEBUG: print e return None
def logoutUser(self, credentials, handler): handler.clear_cookie(UnveillanceCookie.USER) handler.clear_cookie(UnveillanceCookie.ADMIN) try: username = credentials['username'] except KeyError as e: return None try: password = credentials['password'] except KeyError as e: return True try: IV = getConfig('encryption.iv') SALT = getConfig('encryption.salt') USER_SALT = getConfig('encyption.user_salt') except Exception as e: if DEBUG: print e return None try: from Utils.funcs import decryptUserData, encryptUserData except Exception as e: if DEBUG: print e from lib.Frontend.Utils.funcs import decryptUserData, encryptUserData user_root = "%s.txt" % generateMD5Hash(content=username, salt=USER_SALT) with open(os.path.join(USER_ROOT, user_root), 'rb') as UD: user_data = decryptUserData(UD.read, password, p_salt=SALT) if user_data is None: return None new_data = copy.deepcopy(user_data) new_data['saved_searches'] = credentials['save_data'][ 'saved_searches'] try: new_data['annex_key_sent'] = credentials['save_data'][ 'annex_key_sent'] except KeyError as e: pass with open(os.path.join(USER_ROOT, user_root), 'wb+') as UD: UD.write(encryptUserData(new_data, password, iv=IV, p_salt=SALT)) return True return None
def loginUser(self, username, password, handler): try: SALT = getConfig('encryption.salt') USER_SALT = getConfig('encyption.user_salt') except Exception as e: if DEBUG: print e return None from base64 import b64encode try: from Utils.funcs import decryptUserData except Exception as e: if DEBUG: print e from lib.Frontend.Utils.funcs import decryptUserData try: user_root = "%s.txt" % generateMD5Hash(content=username, salt=USER_SALT) with open(os.path.join(USER_ROOT, user_root), 'rb') as UD: user_data = decryptUserData(UD.read(), password, p_salt=SALT) if user_data is None: return None try: if user_data['admin']: del user_data['admin'] handler.set_secure_cookie(UnveillanceCookie.ADMIN, "true", path="/", expires_days=1) if not self.do_get_drive_status(): self.initDriveClient() if "annex_key_sent" not in user_data.keys() or not user_data['annex_key_sent']: if self.drive_client.checkAnnexKeyStatus(): user_data['annex_key_sent'] = True except KeyError as e: if DEBUG: print e pass handler.set_secure_cookie(UnveillanceCookie.USER, b64encode(json.dumps(user_data)), path="/", expires_days=1) return user_data except Exception as e: if DEBUG: print e return None
def logoutUser(self, credentials, handler): handler.clear_cookie(UnveillanceCookie.USER) handler.clear_cookie(UnveillanceCookie.ADMIN) try: username = credentials['username'] except KeyError as e: return None try: password = credentials['password'] except KeyError as e: return True try: IV = getConfig('encryption.iv') SALT = getConfig('encryption.salt') USER_SALT = getConfig('encyption.user_salt') except Exception as e: if DEBUG: print e return None try: from Utils.funcs import decryptUserData, encryptUserData except Exception as e: if DEBUG: print e from lib.Frontend.Utils.funcs import decryptUserData, encryptUserData user_root = "%s.txt" % generateMD5Hash(content=username,salt=USER_SALT) with open(os.path.join(USER_ROOT, user_root), 'rb') as UD: user_data = decryptUserData(UD.read, password, p_salt=SALT) if user_data is None: return None new_data = copy.deepcopy(user_data) new_data['saved_searches'] = credentials['save_data']['saved_searches'] try: new_data['annex_key_sent'] = credentials['save_data']['annex_key_sent'] except KeyError as e: pass with open(os.path.join(USER_ROOT, user_root), 'wb+') as UD: UD.write(encryptUserData(new_data, password, iv=IV, p_salt=SALT)) return True return None