qt5base-lts/tests
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
..
auto QHash security fix (1.5/2): qHash two arguments overload support 2012-04-04 13:02:58 +02:00
baselineserver Remove qMacVersion() 2012-02-21 12:48:04 +01:00
benchmarks Port to the new QUrl API 2012-03-30 01:19:59 +02:00
global Modularized tst_bic and add some helper functions for global test 2011-04-27 12:06:03 +02:00
manual Move CMake macros and tests for dbus tools from qttools. 2012-03-18 14:14:57 +01:00
shared Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
README Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
tests.pro Re-enable the corelib autotests on Mac OS X 2011-11-21 11:31:35 +01:00

This directory contains autotests and benchmarks based on QTestlib. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.

Linux X11:

   * The user must be logged in to an active desktop; you can't run the
     autotests without a valid DISPLAY that allows X11 connections.

   * The tests are run against a KDE3 or KDE4 desktop.

   * Window manager uses "click to focus", and not "focus follows mouse". Many
     tests move the mouse cursor around and expect this to not affect focus
     and activation.

   * Disable "click to activate", i.e., when a window is opened, the window
     manager should automatically activate it (give it input focus) and not
     wait for the user to click the window.