| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The cache actually generates paths like "http/data8/f/lr9un1so.d".
Change-Id: Ie564494a241c3d1c87b2f0f17b42bd0349948640
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
This was added in 5.3 in 30d199a76c7d30d9d70eb6cd7594826e7bf6de61.
Change-Id: I35a209fcfe417cb14605c4db19a3d2e85b67ee49
Reviewed-by: Michał Dutkiewicz
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
|
|
|
|
|
|
|
| |
SSLSetProtocolVersionMin/Max were introduced _only_ in 10.8 and
we need a workaround for 10.7 - use SSLSetProtocolVersion or SSLSetProtocolVersionEnabled.
Change-Id: I4b7ed9fda21e2c374a98fd777253280e8013ffde
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
On OS X SSLCreateContext is quite recent - it requires OS X/SDK version
>= 10.8. Since SecureTransport back-end is the default one in Qt 5.6,
make it also work on OS X 10.7.
Change-Id: I364feff9dd95772fcea926494b2d4edaffd2dde1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Wrap related code in QNativeSocketEngine and the tuiotouch
plugin in conditionals.
Change-Id: Ic6861b1c6a9e041fa8a50f96149f7280473a9fba
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A QAbstractSocket can be close()'d at any time, independently of its
current connection state. being closed means that we cannot use it to
read or write data, but internally it might still have some data to
send or receive, for example to an http server. We can even get a
connected() signal after close()'ing the socket.
We need to catch this condition and mark any pending data not yet
written to the socket for resending.
(cherry picked from commit 0df5d079290b4c3b13e58e9397fabdc1dfdba96b)
Task-number: QTBUG-48326
Change-Id: I67d9ad36f7288c9c6bef51aa6253d7b187737601
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
|
|
|
|
|
|
|
|
|
| |
Since there are circumstances where the session is not yet created after
start() is called then we should check if the session is valid before
connecting to it.
Change-Id: I94236f76e4be2433a8c96eb91ce2d4b4d42f2fd9
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QSslSocket::addCaCertificates() variant that takes a path
argument uses QSslCertificate::fromPath() in its implementation.
Edit the description of the former to match that of the latter.
Fix minor issues in QSslCertificate::fromPath() documentation;
add a missing word, limit code snippet line width.
Task-number: QTBUG-47359
Change-Id: Ibead74c998503e60a67d0b8eb551536bd20feff8
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
After calling connectToHost(), the socket enters HostLookup state. At this
stage, the socket engine was not created yet, and writing to the socket
should result in either data buffering or an error. So, add a check for
d->socketEngine to prevent a crash on unbuffered sockets.
Task-number: QTBUG-48356
Change-Id: I15ea9ce7de97ce6d7e13e358eca5350745b556bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
POSIX API doesn't really have defined encoding and kernel works with
null-terminated byte strings (char *) without any knowledge about
encodings.
But usually applications use LANG (and LC_*) as encoding making it
possible to use any encoding user wishes, including full Unicode
support when UTF-8 is used.
This allows to create and listen to sockets with paths containing
non-latin characters.
eg. listen(QString("/run/υποδοχή"));
Change-Id: I022ac6a8a4575103125c48768a66bef88a232a2a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Dāvis Mosāns <davispuh@gmail.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-46323
Change-Id: I8297072b62763136f457ca6ae15282d1c22244f4
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
If we abort a connection in QNetworkReply::encrypted the underlying
socket gets flushed. This patch fixes that no data will be transmitted
after someone called abort().
Change-Id: I59306e69cb9f2e1421b324e11947375130e52135
Task-number: QTBUG-47471
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
There can be a race condition where another channel connects
and gets the sslErrors() from the socket first. Then the
QSslConfiguration from the wrong socket (the default
channel 0's socket) was used.
Task-number: QTBUG-18722
Change-Id: Ibbfa48c27f181563745daf540fa792a57cc09682
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit d1cd75e81af809a46fcf40cd2b39858e238a4d97 introduced the usage of
the SO_REUSEPORT socket flag on Unix systems if available. However, on
Linux systems this socket option behaves differently from the previously
used SO_REUSEADDR socket option. This patch disables the use of the
SO_REUSEPORT option to fix rebinding problems on Linux. The option was
introduced to improve support on OS X and other BSDs. It is not
necessary on Linux.
[ChangeLog][QtNetwork][QUdpSocket] Fixed a bug that caused the
QAbstractSocket::ShareAddress option not to work on Linux.
Change-Id: Ice04b8b9e78400dce193e2c1d73b67e33edf8840
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some network conditions, WSARecvFrom() may return WSAECONNRESET
or WSAENETRESET error code to indicate that the connection has been
broken and should be reset. According to MSDN documentation,
WSAECONNRESET mean that the virtual circuit was reset by the remote
side executing a hard or abortive close. Also, it would indicate
that a previous send operation resulted in an ICMP "Port Unreachable"
message. For a datagram socket, WSAENETRESET indicates that the time
to live has expired.
Previously, hasPendingDatagram() discarded datagrams with these
errors and reported no data available. This behavior is incorrect
and can lead to infinite "freezing" of the socket.
This patch allows to handle these notifications as a result of the
readDatagram() call.
Task-number: QTBUG-46552
Change-Id: I7d84babe22d36736b928b4dd4841e30be53d16bd
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a small amount of time between the last readDatagram() call
and disabling a read notifier in case the socket had a pending
datagram. If a new datagram arrived in this period, this qualified as
absence of a datagram reader. Do not change the read notifier state
because it is disabled on canReadNotification() entry and always enabled
by the datagram reader.
Thanks to Peter Seiderer, who investigated the same: "Querying
hasPendingDatagrams() for enabling/disabling setReadNotificationEnabled()
is racy (a new datagram could arrive after readDatagam() is called and
before hasPendingDatagrams() is checked). But for unbuffered sockets the
ReadNotification is already disabled before the readReady signal is
emitted and should be re-enabled when calling read() or readDatagram()
from the user."
However, this patch does not completely solve the problem under Windows,
as the socket notifier may emit spurious notifications.
Task-number: QTBUG-46552
Change-Id: If7295d53ae2c788c39e86303502f38135c4d6180
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Generate error for network requests when connection gets disconnected.
Documentation states that QNAM requests will fail if network is not
accessible, so we need to track session state.
Task-number: QTBUG-47482
Change-Id: I2c2d348637f72b2a908b438a66aa543a878de1e5
Reviewed-by: Timo Jyrinki <timo.jyrinki@canonical.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|
|
|
|
|
| |
Change-Id: I868e8ecdff6a503ee891a257121bf14a7da77fec
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
|
|
|
|
|
| |
Task-number: QTBUG-43810
Change-Id: I0a019becc53b222cb6a7df1fafdccd57aca5b598
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|
|
|
|
| |
Change-Id: I66e8fff2556ce23a66db1148bdb68e9a448227b2
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
|
|
|
|
|
|
| |
Change-Id: I2cdf0f4c7642c420ccec0a3f6e05a1c5bc7da020
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
|
|
|
|
|
|
|
|
|
|
|
| |
connectToHost is not meant to be synchronous, but waitForWrite
is used internally to wait for the connection to be established.
Thus the same logic that is used in the callback has to be applied
in there.
Task-number: QTBUG-46339
Change-Id: Ia1fb5c1ae609a9942ff4d8fe2f5fab2ef572da0c
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make it explicit what 'isNull()' is really about. and
mention which data type is in the QVariant stored in
the options.
Fix the links to the Options section in the summary:
So far they where pointing to the options() method.
Fix capitalization and trailing dots.
Change-Id: I030c0a273e784b28d642ae40b28e36b0d406c920
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _q_readyRead can also be called from readMoreLater() because we implemented
it so that bandwidth limited reading can be implemented.
This can lead to a race condition if the socket is closing at the specific moment
and then deadlock the channel: It will stay unusable with a zombie request.
The fix in QHttpProtocolaHandler checks if there is actually bytes available to read
from the socket and only then continue.
The fix in the HTTP channel needs to be done to properly finish the reply in
cases of a server replying with HTTP/1.0 or "Connection: close".
The delayed incovation of _q_receiveReply will properly finish up the reply.
Change-Id: I19ce2ae595f91d56386cc7406ccacc9935672b6b
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
doc/global/manifest-meta.qdocconf
src/corelib/global/qnamespace.qdoc
src/corelib/io/qstorageinfo_unix.cpp
src/corelib/tools/qtools_p.h
src/sql/drivers/psql/qsql_psql.cpp
Change-Id: I23a15ac84e03ad61d865e3df872b013eb0752949
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a fix-up for cff39fba10ffc10ee4dcfdc66ff6528eb26462d3.
That patch lead to some internal state issues that lead to the QTBUG-47048
or to QNetworkReply objects erroring with "Connection Closed" when
the server closed the Keep-Alive connection.
This patch changes the QNAM socket slot connections to be DirectConnection.
We don't close the socket anymore in slots where it is anyway in a closed state
afterwards. This prevents event/stack recursions.
We also flush QSslSocket/QTcpSocket receive buffers when receiving a disconnect
so that the developer always gets the full decrypted data from the buffers.
[ChangeLog][QtNetwork] Fix HTTP issues with "Unknown Error" and "Connection Closed"
[ChangeLog][QtNetwork][Sockets] Read OS/encrypted read buffers when connection
closed by server.
Change-Id: Ib4d6a2d0d988317e3a5356f36e8dbcee4590beed
Task-number: QTBUG-47048
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Scanning and updating networks can cause transmission jitters
when scanning every 10 seconds.
setting QT_BEARER_POLL_TIMEOUT, in milliseconds will set
polling timer for those bearer backends that require
polling, such as generic and windows.
Task-number: QTBUG-46015
Change-Id: I0338cd34ad78488ebef250a0114d17ce190434e8
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I03cd3886c0e2dbb07ef8d37e75df36308ee5fea5
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds basic support for QSslKey reading / writing Elliptic Curve keys on
backends other than OpenSSL (i.e. WinRT / SecureTransport for now).
Change-Id: I67012dbe6b844a3ed5b22b63e0cdbacf0497a74a
Reviewed-by: Richard J. Moore <rich@kde.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since SslV3, SslV2 and UnknownProtocol do not support it we can
invert the IF clause here.
Change-Id: I42e942337d01f3a8c97885b268bffa568e40d335
Task-number: QTBUG-47528
Reviewed-by: Mikkel Krautz <mikkel@krautz.dk>
Reviewed-by: Richard J. Moore <rich@kde.org>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Fixes a typo which breaks the parsing of certificates with DSA public keys
when using a non-OpenSSL backend (WinRT, SecureTransport).
Change-Id: I250ba9948d5bd7739e281d7cd1b95cfbcb10e402
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Define both qHash() and operator==() outside of the class, like
it is already done for operator!=(). Defining it inside the
class limits it to argument-dependent lookup, which in turn
means that the lookup rules for operator!= and operator==
were slightly different (e.g. if one would compare variables
of a type that is implicitly convertible to QSslEllipticCurve).
As a side-effect, this also fixes a qdoc warning.
Change-Id: I40ab2f8cd2b6b5f42481dd254229a88b678f3f15
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This improves SecureTransport logging consistency:
- include error code in SSL error when a native backend call fails
- use qt.network.ssl category for debug / warning messages
- do not use duplicate qWarning when error is already reported via QSslError
Change-Id: I52d457b11f0cef2cc3579305e457663b61b92f3f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-46323
Change-Id: Ibdeb3280091a97d785d4314340678a63e88fb219
Reviewed-by: Markus Goetz (Woboq GmbH) <markus@woboq.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently when the remote server disconnects gracefully (for example upon
returning an HTTP request with Connection: close) the call to SSLRead
will return errSSLCloseGraceful which is incorrectly reported as
QAbstractSocket::SslInternalError.
This patch aligns the behavior with that of the OpenSSL backend and instead
reports QAbstractSocket::RemoteHostClosedError.
Change-Id: I8c6679280ac0c6fbd71d5f0d29b25f692eca5b24
Task-number: QTBUG-47154
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-46374
Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138
Reviewed-by: Martin Smith <martin.smith@digia.com>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.5
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/plugins/platforms/cocoa/qcocoafiledialoghelper.h
Manually fixed src/testlib/qtestcase.cpp to return the right type.
Change-Id: Id1634dbe3d73fefe9431b9f5378846cb187624e4
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-46339
Change-Id: I413fef39424a0815ef4604000f85ad37ac2b4dc2
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QSslConfiguration is better suited for these APIs. The ones
in QSslSocket that already have a counterpart have been deprecated.
[ChangeLog][QtNetwork][SSL/TLS Support] Most of the QSslSocket
functions to deal with ciphersuites, certification authorities
as well as elliptic curves have been deprecated in favor of the
corresponding counterparts in QSslConfiguration.
Task-number: QTBUG-46558
Change-Id: I1de03379efcbcab931c20e876e252769fe4279e0
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Exporting value classes (as opposed to just their non-inline
methods) creates subtle binary incompatibility problems.
In this case, between C++11 and C++98 builds because of the
move assignment operator.
Even though it's not a problem in practice, so far, for some
types of classes this issue ie real (QVector, say), so it's
best to avoid exporting what we don't need to export.
Change-Id: Ifca6aaedcbfa79ca35e651de7630e69c3b266fe3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-46475
Change-Id: Id599b2eb0dee0c003475c094ad61700150e37e65
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix style issues along the way.
Change-Id: Ic6a6de28e198eb0b14c198b802e78845703909b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|\| |
| | |
| | |
| | | |
refs/staging/5.5
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
qmake/generators/mac/pbuilder_pbx.cpp
src/corelib/global/qglobal.h
Change-Id: I2c0f7544bf194f2d0f59218fd583c822901487b0
|
| | |\
| | | |
| | | |
| | | | |
refs/staging/5.4
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: Ied2a227a25859163a924c7b5717492a1f974c5ca
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Google scan play store apps for the openssl version string which leads
to false positives since we record the version we were compiled against
even though we don't link it directly.
Task-number: QTBUG-46265
Change-Id: Iefd0e0954149c17350d49f57f9f374938124d7b8
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
As pointed out in the bug, it also fixes API use when configured
with no bearermanagement.
Task-number: QTBUG-46239
Change-Id: Ief8df85ad6acf61e8d5bb3eed54e7d6ecb84c1a0
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|