Beispiel #1
0
    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
Beispiel #2
0
    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