Home ⌂Doc Index ◂Up ▴

eric6.WebBrowser.SafeBrowsing.SafeBrowsingCache

Module implementing a cache for Google Safe Browsing.

Global Attributes

None

Classes

SafeBrowsingCache Class implementing a cache for Google Safe Browsing.

Functions

None


SafeBrowsingCache

Class implementing a cache for Google Safe Browsing.

Derived from

QObject

Class Attributes

create_full_hash_cue_idx
create_full_hash_expires_idx
create_full_hash_value_idx
create_full_hashes_stmt
create_hash_prefix_stmt
create_threat_list_stmt
drop_full_hash_cue_idx
drop_full_hash_expires_idx
drop_full_hash_value_idx
drop_full_hashes_stmt
drop_hash_prefix_stmt
drop_threat_list_stmt
maxProcessEventsTime

Class Methods

None

Methods

SafeBrowsingCache Constructor
__openCacheDb Private method to open the cache database.
addThreatList Public method to add a threat list to the cache.
cleanupFullHashes Public method to clean up full hash entries expired more than the given time.
close Public method to close the database.
deleteHashPrefixList Public method to delete hash prefixes for a given threat list.
deleteThreatList Public method to delete a threat list from the cache.
getHashPrefixValuesToRemove Public method to get the hash prefix values to be removed from the cache.
getThreatLists Public method to get the available threat lists.
hashPrefixListChecksum Public method to calculate the SHA256 checksum for an alphabetically sorted concatenated list of hash prefixes.
lookupFullHashes Public method to get a list of threat lists and expiration flag for the given hashes if a hash is blacklisted.
lookupHashPrefix Public method to look up hash prefixes in the local cache.
populateHashPrefixList Public method to populate the hash prefixes for a threat list.
prepareCacheDb Public method to prepare the cache database.
removeHashPrefixIndices Public method to remove hash prefixes from the cache.
storeFullHash Public method to store full hash data in the cache database.
updateHashPrefixExpiration Public method to update the hash prefix expiration time.
updateThreatListClientState Public method to update the client state of a threat list.

Static Methods

None

SafeBrowsingCache (Constructor)

SafeBrowsingCache(dbPath, parent=None)

Constructor

dbPath (str)
path to store the cache DB into
parent (QObject)
reference to the parent object

SafeBrowsingCache.__openCacheDb

__openCacheDb()

Private method to open the cache database.

Returns:
flag indicating the open state
Return Type:
bool

SafeBrowsingCache.addThreatList

addThreatList(threatList)

Public method to add a threat list to the cache.

threatList (ThreatList)
threat list to be added

SafeBrowsingCache.cleanupFullHashes

cleanupFullHashes(keepExpiredFor=43200)

Public method to clean up full hash entries expired more than the given time.

keepExpiredFor (int or float)
time period in seconds of entries to be expired

SafeBrowsingCache.close

close()

Public method to close the database.

SafeBrowsingCache.deleteHashPrefixList

deleteHashPrefixList(threatList)

Public method to delete hash prefixes for a given threat list.

threatList (ThreatList)
threat list info object

SafeBrowsingCache.deleteThreatList

deleteThreatList(threatList)

Public method to delete a threat list from the cache.

threatList (ThreatList)
threat list to be deleted

SafeBrowsingCache.getHashPrefixValuesToRemove

getHashPrefixValuesToRemove(threatList, indexes)

Public method to get the hash prefix values to be removed from the cache.

threatList (ThreatList)
threat list to remove prefixes from
indexes (list of int)
list of indexes of prefixes to be removed
Returns:
list of hash prefixes to be removed
Return Type:
list of bytes

SafeBrowsingCache.getThreatLists

getThreatLists()

Public method to get the available threat lists.

Returns:
list of available threat lists
Return Type:
list of tuples of (ThreatList, str)

SafeBrowsingCache.hashPrefixListChecksum

hashPrefixListChecksum(threatList)

Public method to calculate the SHA256 checksum for an alphabetically sorted concatenated list of hash prefixes.

threatList (ThreatList)
threat list to calculate checksum for
Returns:
SHA256 checksum
Return Type:
bytes

SafeBrowsingCache.lookupFullHashes

lookupFullHashes(hashValues)

Public method to get a list of threat lists and expiration flag for the given hashes if a hash is blacklisted.

hashValues (list of bytes)
list of hash values to look up
Returns:
list of tuples containing the threat list info and the expiration flag
Return Type:
list of tuple of (ThreatList, bool)

SafeBrowsingCache.lookupHashPrefix

lookupHashPrefix(prefixes)

Public method to look up hash prefixes in the local cache.

prefixes (list of bytes)
list of hash prefixes to look up
Returns:
list of tuples containing the threat list, full hash and negative cache expiration flag
Return Type:
list of tuple of (ThreatList, bytes, bool)

SafeBrowsingCache.populateHashPrefixList

populateHashPrefixList(threatList, prefixes)

Public method to populate the hash prefixes for a threat list.

threatList (ThreatList)
threat list of the hash prefixes
prefixes (HashPrefixList)
list of hash prefixes to be inserted

SafeBrowsingCache.prepareCacheDb

prepareCacheDb()

Public method to prepare the cache database.

SafeBrowsingCache.removeHashPrefixIndices

removeHashPrefixIndices(threatList, indexes)

Public method to remove hash prefixes from the cache.

threatList (ThreatList)
threat list to delete hash prefixes of
indexes (list of int)
list of indexes of prefixes to be removed

SafeBrowsingCache.storeFullHash

storeFullHash(threatList, hashValue, cacheDuration, malwareThreatType)

Public method to store full hash data in the cache database.

threatList (ThreatList)
threat list info object
hashValue (bytes)
hash to be stored
cacheDuration (int or float)
duration the data should remain in the cache
malwareThreatType (str)
threat type of the malware

SafeBrowsingCache.updateHashPrefixExpiration

updateHashPrefixExpiration(threatList, hashPrefix, negativeCacheDuration)

Public method to update the hash prefix expiration time.

threatList (ThreatList)
threat list info object
hashPrefix (bytes)
hash prefix
negativeCacheDuration (int or float)
time in seconds the entry should remain in the cache

SafeBrowsingCache.updateThreatListClientState

updateThreatListClientState(threatList, clientState)

Public method to update the client state of a threat list.

threatList (ThreatList)
threat list to update the client state for
clientState (str)
new client state
Up



Home ⌂Doc Index ◂Up ▴