qt5base-lts/doc/src
Giuseppe D'Angelo 9a77171ccc QHash security fix (1.5/2): qHash two arguments overload support
Algorithmic complexity attacks against hash tables have been known
since 2003 (cf. [1, 2]), and they have been left unpatched for years
until the 2011 attacks [3] against many libraries /
(reference) implementations of programming languages.

This patch adds a qHash overload taking two arguments: the value to
be hashed, and a uint to be used as a seed for the hash function
itself (support the global QHash seed was added in a previous patch).
The seed itself is not used just yet; instead, 0 is passed.

Compatibility with the one-argument qHash(T) implementation is kept
through a catch-all template.

[1] http://www.cs.rice.edu/~scrosby/hash/CrosbyWallach_UsenixSec2003.pdf
[2] http://perldoc.perl.org/perlsec.html#Algorithmic-Complexity-Attacks
[3] http://www.ocert.org/advisories/ocert-2011-003.html

Task-number: QTBUG-23529
Change-Id: I1d0a84899476d134db455418c8043a349a7e5317
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-04-04 13:02:58 +02:00
..
corelib Remove the usage of deprecated qdoc macros. 2012-03-02 23:16:25 +01:00
dbus Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
examples add widget mousebuttons example 'mousetester'. 2012-03-06 08:24:22 +01:00
gui Remove the usage of deprecated qdoc macros. 2012-03-02 23:16:25 +01:00
images add widget mousebuttons example 'mousetester'. 2012-03-06 08:24:22 +01:00
network QRegularExpression: add QRegularExpression* set of classes 2012-03-06 21:53:39 +01:00
printsupport Remove the usage of deprecated qdoc macros. 2012-03-02 23:16:25 +01:00
snippets QHash security fix (1.5/2): qHash two arguments overload support 2012-04-04 13:02:58 +02:00
sql Update QtSql module name according to the new naming convention 2012-03-15 09:50:18 +01:00
widgets Remove the usage of deprecated qdoc macros. 2012-03-02 23:16:25 +01:00
xml Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00