Commit Graph

532 Commits (d162f276714f04b07827dfd525deea45dc55a5f1)

Author SHA1 Message Date
Giuseppe D'Angelo 1c9b0eb640 Workaround MSVC2008 build failure after switching to std::lower_bound
MSVC2008 tries to see if a container is fully ordered.

This causes a build failure when operator< is not defined
between the elements in the container (but is instead defined
between the element type and the item passed to std::lower_bound).

Change-Id: I093d6f67f64a247f0aae763acb35ee73614f4208
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-09-27 15:47:21 +02:00
Marcel Krems b5b8fdb915 documentation fixes
Change-Id: If165933df41e518f5ba6065792676260fd2492b6
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2012-09-27 02:33:09 +02:00
Kai Koehne f052ee467d Fix MinGW/gcc warning about NOMINMAX being redefined
Commit 5230d62fe added a #define NOMINMAX, which conflicts with a
NOMINMAX definition in the MinGW headers. Just use the same definition
as in MinGW to fix the gcc warning.

Change-Id: Ib21dd323ebbdca5d143e394c7631303e0c72541a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-26 10:08:59 +02:00
Jonas M. Gastal 4920090da0 If accept fails, stop accepting new connections and emit error signal.
Task-number: QTBUG-24778
Change-Id: I6c5b685b3f861a0fafc1475c41bb35cede17d712
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-26 04:03:51 +02:00
Mitch Curtis 6b6fefad48 Remove duplicate words and punctuation from documentation.
Change-Id: I5550c62d412510bc2c5acceb2cae7d2f2ef6a8d3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-09-26 04:03:20 +02:00
Samuel Rødal 1dadede8ed Fixed instances of "to to" in qtbase.
Really it should just be "to".

Change-Id: I7d0fff334bac3f0ac78adb8131e3bf3df1f1b242
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-09-24 21:27:51 +02:00
Thiago Macieira cb7d64170d Centralise handling & ignoring of SIGPIPE in qcore_unix_p.h
We had two instances of this function in the Qt source code, one clearly
a copy of the other, so both had the same thread-safety issue. Instead,
let's have one copy and have both write_nosignal() and sendto() call
them.

Q_NO_POSIX_SIGNALS is also gone. It was only used with Symbian.

Change-Id: I0f1354a8e9df8e6b10a02f86a940e3c6d1222087
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-24 21:27:51 +02:00
Jing Bai 37e3168abc wrap QLibrary related code with QT_NO_LIBRARY
To fix a compile error when QT_NO_LIBRARY is defined.

Change-Id: Ie72b60b8204641fa05f4cdbf66e908cb3526217e
Reviewed-by: Jing Bai <jing.bai@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-09-24 17:06:48 +02:00
Iikka Eklund be15856f61 Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-09-22 19:20:11 +02:00
Konstantin Ritt ed5fe1b95e Fix build under MinGW after 1e3269c086
Change-Id: I3c8c28ba1016af6351afa5118893133d373cb4e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-09-22 00:47:40 +02:00
Frederik Gladhorn eed5be6fcd Fix network doc links.
Change-Id: I319644da80d91c5cf6d247410f022fbfd062a1f3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-09-21 19:59:46 +02:00
Frederik Gladhorn cf79da9933 Fix doc errors.
Change-Id: I9974d870c081620217582fcb6f8b146d208a471c
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
2012-09-21 19:59:34 +02:00
Frederik Gladhorn d16c565ca6 Move opengl/wid/net example docs to proper folders.
Change-Id: I846439a9cf7ad965ed27a00f98dbc4ff97abe73b
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
2012-09-21 19:59:06 +02:00
Frederik Gladhorn cae8951e30 Fix typo in docs.
Change-Id: Icfafa00062b442903579dd7993c75fffb60187f9
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-09-19 19:54:44 +02:00
Giuseppe D'Angelo 1e37d854f7 Remove qLowerBound usages from qtbase
Replace them with std::lower_bound; this allows for deprecation of
qLowerBound.

Change-Id: I536e7338eb85ea6c7c1a5bf23121292767927e0b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-09-19 16:12:30 +02:00
Kai Koehne 10e0e8afda Network: Fix mingw-gcc warning
Fix warning: missing braces around initializer for 'BYTE [6] {aka unsigned char [6]}'

Change-Id: Ic247ff0721955c4562ed027fad7cb3786809a840
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-18 17:39:50 +02:00
Kai Koehne 6368b2a751 Network: Fix gcc warning about qDebug format
Fix gcc warnings: 'unknown conversion type character 'l' in format' , and
'too many arguments for format'.

Change-Id: Ic7547a5bd5ba0d4c9f115004f250a0f7d3b378cb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-18 17:39:50 +02:00
Richard Moore 5ea896fbc6 Disable SSL compression by default.
Disable SSL compression by default since this appears to be the a likely
cause of the currently hyped CRIME attack.

Change-Id: I515fcc46f5199acf938e9e880a4345f2d405b2a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-09-18 14:12:17 +02:00
Thiago Macieira 3f970c20f9 Fix thread-safety of qt_ignore_sigpipe
The testAndSet operation would mean another thread could see the value
of 1 and proceed to write(2)/sendto(2) before SIGPIPE had been ignored.
If the pipe or socket were already closed by then, a SIGPIPE would be
delivered to the application with its default action: terminate.

Change-Id: I62dc8f5fa14c1dd453d13e4053c642bd78fbc468
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2012-09-18 14:11:53 +02:00
Tomasz Duda 60f4fc8b70 HTTP header may be damaged - fix, unit test
"HTTP/1.1 100 CONTINUE\r\n"
If the header from a server is splitted between two packets
the first packet contains "HTTP/1.1 100" and the second one
contains " CONTINUE\r\n", one space (0x20) is skipped. After
processing the line looks in this way "HTTP/1.1 100CONTINUE".
QHttpNetworkReplyPrivate::readStatus(QAbstractSocket *socket)
is called twice, if a http header is splitted as above.
The function always removes whitespace from the beginning of a packet,
even if it is the second part of a http header.

QHttpNetworkReply returns QNetworkReply::RemoteHostClosedError
due to damaged http header during processing.

Improvement of unit test.

Task-number: QTBUG-27161

Change-Id: Ifc2949f62473209b4032185effbf5078b4130cda
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-18 00:59:08 +02:00
Sergio Ahumada 1e3269c086 network: Fix missing or improper include guard in headers
Use an include guard in headers to ensure the header is not included
more than once. Make the header guard match its file name.

Also, cpp files should include their own headers first (but below config.h)

Change-Id: Iecf5da23c0f8e6d457f67657b88ef7557bde9669
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-15 23:54:45 +02:00
Sergio Ahumada 0a37bcf245 Mark (non-public API's) ctor's as explicit
Make C++ class constructors that can be used with only one
required argument 'explicit' to minimize wrong use of the class.

Change-Id: I12ad5b6eb1794108c6b7464a2573e84068733b03
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-14 15:23:15 +02:00
Venugopal Shivashankar a42f1f9a50 Doc: Marked the QUrlInfo class documentation as \internal
Change-Id: Ib84c9ffc181edf17850d5334c95c035428d31b6c
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-13 19:33:08 +02:00
Kai Koehne 0abae2aa2b Network: Fix gcc warning about conversion from string to wchar *
Fix gcc 4.7 warning:
'deprecated conversion from string constant to 'SEC_WCHAR*'

Change-Id: I5df44ffdc0d505789f99b58d68e02b7535ce761b
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-09-13 16:46:35 +02:00
Frederik Gladhorn 33a07646ce Do not include /examples in qdocconfs.
Change-Id: I84a925a8be4964fae667f5a2500157283a8057d2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-09-11 12:09:47 +02:00
Casper van Donderen c3523bdde7 Doc: Centralize more common settings in 1 global qdocconf.
All qdocconf settings that should be used by all Qt modules are now in
qt-module-defaults.qdocconf.

Change-Id: I2a0315a55db3fcbb0160c4392d2da98611043d83
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-11 09:35:28 +02:00
Thiago Macieira 318b1a1d94 Remove misleading documentation about QAbstractSocket::bytesWritten
The signal has nothing to do with any action on the remote side. It is
emitted when the class has written the bytes to the operating system.
More likely than not, the bytes have not been even sent yet, much less
read by the other side.

Change-Id: Ia04d37ffc8c0788173d3d29f49c5759bcdef6afa
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-10 14:09:45 +02:00
Sergio Ahumada 67cb9e24e5 Removing duplicate includes
Do not include a header more than once

Change-Id: Ia2e5d66e72988ad833cf5177a3f8aa988bf510e9
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-09-09 18:30:43 +02:00
Sergio Ahumada 4d3a53305f test: QFtp tests require `private_tests' set
Also fixing some includes and re-enabling the test

Change-Id: I4a061e106c2e55db39b8000729737a93e3d7714a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-09 08:51:05 +02:00
Marc Mutz 1f8d570d5f Use QStringList::join(QChar) overload where applicable [QtNetwork]
This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: I5b75877ba192fa1357e67fee70dff7c0475991e8
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-07 18:41:22 +02:00
Julien Brianceau 5b1bc864a9 QtNetwork: bypass proxy for local connections
According to Qt doc, "Network proxy is not used if the address used in
connectToHost(), bind() or listen() is equivalent to
QHostAddress::LocalHost or QHostAddress::LocalHostIPv6. This is not the
case in current implementation.

Change-Id: I6b8a40c1e8bd8aad9504d8f939b87eda6e93337c
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-09-07 15:44:31 +02:00
Sergio Ahumada b77b5cc5be Revert "Use true and false in preference to TRUE and FALSE"
Even though I really think the change was the right thing to do, it seems
like Windows people don't like this change because of some Windows Data Types
specific rules.

This reverts parts of the commit 56d5c909af.

Change-Id: I2c67d9b1bab36fc63937ef386aef56d2a4472a04
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-09-07 06:25:23 +02:00
Sergio Ahumada 56d5c909af Use true and false in preference to TRUE and FALSE
The TRUE and FALSE macros are obsolete and should be replaced with
true and false (all lower case) respectively.

Change-Id: Iee352e8173500683e6319be0abbf5bacf29016e0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-05 03:03:05 +02:00
Jing Bai 3981961035 fix a mismatch of using QT_NO_NETWORKPROXY
To fix a compile error when QT_NO_NETWORKPROXY is defined.

Change-Id: If0433387cff2e6574fe24721a0ce2bfc41b0eb47
Reviewed-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-09-03 13:41:55 +02:00
Casper van Donderen eede34aa6b Doc: Fix docbuild when not using -developer-build.
https://codereview.qt-project.org/#change,33974 only works in the case
of a developer build. Not in a normal prefix build.

Change-Id: I3a3e5029cefaa9f83c5deb71665f0efa9d812819
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-09-01 11:23:56 +02:00
Sergio Ahumada 2994cd41ca Add missing QT_{BEGIN,END}_NAMESPACE
Fix src/network/kernel/qnetworkfunctions_wince.h

Change-Id: Ia59c1e67f9409abb97fce3fcaa3840e0d77c0978
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-31 01:16:56 +02:00
Casper van Donderen 2e7f06c9bc Doc: Simplify qtbase qdocconfs.
We should be using the global qdocconf for the common variables. This
change also allows you to just specify -installdir without using a
templatedir.

Change-Id: I207d279d9b5199212e896fc5ccab5c212b1896c6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-31 01:16:56 +02:00
Brendan Long 860f95946b Add support for explicit TLS 1.1 and 1.2
Add SslProtocol enums TlsV1_1 and TlsV1_2 and use the appropriate OpenSSL
methods when they're selected (TLSv1_1_client_method, TLSv1_2_client_method,
TLSv1_1_server_method and TLSv1_2_server_method). This allows us to
explicitly use TLS 1.1 or 1.2.

Task-number: QTBUG-26866
Change-Id: I159da548546fa746c20e9e96bc0e5b785e4e761b
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-29 14:22:54 +02:00
Marc Mutz 7e21ba6845 SSL: remove unneeded volatile qualifications
These two variables are only ever accessed under mutex protection,
and don't otherwise look like they could be changed by the hardware,
so remove the volatile qualifier.

Change-Id: I714451bb3e80778b971a901d53fe13e1b01dd84f
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-29 14:16:45 +02:00
Marc Mutz b2edd830b1 QDnsLookupRunnable: replace a volatile bool with an atomic int
Since there is non-atomic data that is protected by 'triedResolve',
the (outer) read from triedResolve needs to have acquire, and the
store needs to have release semantics. The release implied by the
mutex unlock is not good enough because it only synchronises-with
the locking of the same mutex, which not all threads execute.

Change-Id: If46b3ea6ccfdd66ca41ce44d4f45bef2c2c30f72
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-29 14:14:46 +02:00
Marc Mutz 462a266edf QHostInfo: replace a volatile bool with an atomic int
A volatile bool read/store is documented on MSVC to have acquire/release
semantics, respectively, but that doesn't need to be true for MinGW, so
use explicit memory ordering.

Apply the same fix to the Unix implementation, too.

Change-Id: Ica466cec50beed830aafa4e3384d82f02e1a47e8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-29 14:14:17 +02:00
Frederik Gladhorn e0d3874525 Exclude the examples/widgets/doc dir for all but widgets.
There are too many references to the QWidget lib documentation
in there. On the other hand this keeps snippets working.

Change-Id: I7dd63b7fba1758accea2663f7b427940a8857e32
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-08-29 14:12:06 +02:00
Marc Mutz 8967e731a6 QNetworkDiskCache: avoid a 31-bit truncation
Network operations whose content size exceed 2G are not unheard of, and
they probably shouldn't be cached, so use the correct toX() function, one
that doesn't truncate the value in the header.

Change-Id: Ie4e68a3120c85952dd2cc9feb73c5844e20b9aa3
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-23 18:05:31 +02:00
Marc Mutz d16b02bd17 QtNetwork: declare some classes as shared
Change-Id: Ib3eaba59836529ad0cf8e4353b54dd0cd31fd1ad
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-23 15:54:02 +02:00
Shawn Rutledge 41ca2b4453 A few more random documentation fixes
@p replaced by \a, \QD replaced by {Qt Designer}, couple of enums etc.

Change-Id: I315510690bf52e42db519292b4122fa24c73bbc9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-08-23 02:55:17 +02:00
Mitch Curtis 46bef9f29f Fix typo in QAbstractNetworkCache documentation.
"used be" => "used by"

Change-Id: Ibde738facab357d21604779f8b2145d32815ed66
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-08-21 13:41:01 +02:00
Thiago Macieira 373845dfd8 Add Q_DECL_NOTHROW to some qHash functions
The hashing functions for QDateTime and QHostAddress did not get the
noexcept keyword because they might allocate memory. QDateTime doesn't
do it now, but it could in the future. QHostAddress does allocate
memory today.

Change-Id: Ia5f80942944bfc2b8c405306c467bfd88ef0e48c
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-08-20 21:59:21 +02:00
Thiago Macieira eda5d42ab9 Add missing #include <qmetatype.h>
There's a Q_DECLARE_METATYPE at the end of this file.

Change-Id: Ib63aa4397ccba8740d46cf1ee7af712f75d05765
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-20 16:58:01 +02:00
Martin Smith 6f09e100c9 doc: Fixed qdoc errors in SSL
Fixed some bad camel case, marked some parameters with \a,
and changed a \enum to a \typedef. Removed some obasolete
text.

Change-Id: I1e69dd9f3b74129230770addc80fe1c125faf268
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-08-18 21:08:33 +02:00
Andreas Holzammer 853f78e125 Fix sockets for Windows CE
Version numbers for CE are higher then for the desktop,
so insert a check for this, as the api is not working as
for windows 7 and above.

Change-Id: I79baba9183e11c714cffd0bb43327c197043d6e0
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-08-14 03:56:55 +02:00