Commit Graph

348 Commits (e32ecdb28079a60f86aca0eee648c11f7993b460)

Author SHA1 Message Date
Alex Trotsenko be2e993a9a Fix build with 'udpsocket' feature disabled
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>
2015-11-14 09:42:49 +00:00
Oliver Wolff b91389fef0 winrt: Clean up QNativeSocketEngine
WinRT/Windows Phone "coding guidelines" are now used for the native
socket engine as well.
    - Whenever an operation is expected to succeed
      Q_ASSERT_SUCCEEDED is used.
    - QWinRTFunctions::await is used for waiting for async operations
    - Improved error handling

Change-Id: I6c8d64731da5c94b911a5190231c7c8f68d9c261
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-11-12 06:43:27 +00:00
Alex Trotsenko 9ffbc139d1 QNativeSocketEngine: fix build in debug mode under Unix
Change-Id: I197e4853cd3ddd7543bbdb12cecc19c0ed2c9ee2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-11-09 05:58:23 +00:00
Edward Welbourne f86e6643b6 Compile-fix: add missing declaration in debug.
QAbstractSocketPrivate::readFromSocket() had a qDebug() that
references its q->... so it also needs its Q_Q() declaration.
Only relevant when QABSTRACTSOCKET_DEBUG is enabled (which it
normally isn't).

Change-Id: Ib82fd032fb2c4143a0987b9162377d0d7e968e95
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-30 09:58:15 +00:00
Alex Trotsenko ccca3ffdc2 QNativeSocketEngine: declare PacketHeaderOption enum as a bit field
It should be possible to use these constants simultaneously and to
handle them separately from each other.

Change-Id: I0c48a3c25456b487c9d6139b05105ada20f34be6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 18:21:07 +00:00
Alex Trotsenko 192606a9fd QIpPacketHeader: correct the type of hopLimit member
In other places, it's referenced as int.

Change-Id: Ic66f33a34d45208686ad0e229644d3ef33c55a62
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-23 18:20:49 +00:00
Alex Trotsenko e1d4c16aef QNativeSocketEngine: allocate more space for the ancillary data
As a corner case on BSD systems, we use IP_RECVIF control message to
retrieve an interface index of the received datagram. Take care about
sockaddr_dl structure, while calculating a size of the ancillary
data buffer.

Change-Id: I1c113d390a4929489c4c5858847b6262f1baa204
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-10-21 19:18:45 +00:00
Oliver Wolff ffa7b050a1 winrt: Properly handle when a remote host closes a tcp connection.
Task-number: QTBUG-48476
Change-Id: I1933dfe7e73330a8f0d5ac8d3d7a834e0d77270a
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-10-16 04:34:40 +00:00
Liang Qi b7ac036b72 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	src/network/socket/qabstractsocket.cpp
	src/plugins/platforms/winrt/qwinrtscreen.cpp
	src/sql/drivers/mysql/qsql_mysql.cpp

Change-Id: Ifb73623d09f53340ee5e10283f1f86b580998902
2015-10-13 23:03:51 +02:00
Friedemann Kleint bba86a01c9 Libraries: Fix single-character string literals.
Use character literals where applicable.

Change-Id: I8e198774c2247c1cc1d852a41b59b301199b7878
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-10-13 16:37:37 +00:00
Alex Trotsenko 0872156559 QAbstractSocket: fix writing to socket in HostLookup state
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>
2015-10-13 05:20:08 +00:00
Liang Qi d0eaa737e1 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/corelib/tools/qstring.h
	src/gui/image/qimagereader.cpp
	src/network/access/qnetworkaccessmanager.cpp
	src/tools/qdoc/doc/examples/examples.qdoc
	src/widgets/accessible/qaccessiblewidgetfactory_p.h
	src/widgets/doc/qtwidgets.qdocconf

Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
2015-10-02 16:59:55 +02:00
Thiago Macieira b03d91e3f7 Remove unnecessary null-pointer check
It was dereferenced 8 lines before and the pointer cannot have changed
since.

Found by Coverity, CID 11363.

Change-Id: I42e7ef1a481840699a8dffff1407ecab4e4f5930
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-09-28 16:29:20 +00:00
Dāvis Mosāns e18554d4f7 Network: Use QFile::encodeName for POSIX paths instead of toLatin1
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>
2015-09-27 19:38:29 +00:00
Alexander Rössler c28bc5f113 QNativeSocketEngine: fix SO_REUSEPORT problems on Linux
Commit d1cd75e81a 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>
2015-09-22 19:07:15 +00:00
Friedemann Kleint 72bd5d1db9 QtNetwork documentation: Emphasize QTcpServer::addPendingConnection().
Add note mentioning it to QTcpSocket::incomingConnection() and
update SSL socket server code snippet accordingly.

Change-Id: I9d228dabde76f9e9cd5140edf08be09a588066c8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-21 16:42:34 +00:00
Kai Koehne a8bc96e9e5 QAbstractSocket: Consolidate error reporting
Introduce the methods setError(), setErrorAndEmit() to consistently
set the internal error state.

Change-Id: I4ff951d100cf5e9f9a7e27135bb52188cde99853
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-14 09:38:24 +00:00
Alex Trotsenko c86ca601ed Windows socket engine: do not discard datagram on critical failure
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>
2015-09-10 12:51:06 +00:00
Alex Trotsenko 378e26dd14 QUdpSocket: avoid infinite read notifier blocking
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>
2015-09-10 12:50:58 +00:00
Oliver Wolff 1840cc982a WinRT: Unregister callbacks when socket engine is destroyed
Change-Id: I66e8fff2556ce23a66db1148bdb68e9a448227b2
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-09-03 12:13:45 +00:00
Oliver Wolff d8130786b6 WinRT: Do not try to read from TCP inputstream in case of UDP
Change-Id: I2cdf0f4c7642c420ccec0a3f6e05a1c5bc7da020
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-09-03 12:13:43 +00:00
Oliver Wolff 055cbaafd6 Fixed connectToHost
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>
2015-09-03 12:13:41 +00:00
Kai Koehne 1b459a8124 QAbstractSocket: Always set errorString right after socketError
Otherwise errorString() might not match error() in a
statusChanged handler.

Change-Id: If1250b4552412eabe88457dee031e4ef3f533838
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-09-02 07:05:55 +00:00
Liang Qi afab1546a7 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	qmake/doc/snippets/code/doc_src_qmake-manual.pro
	qmake/doc/src/qmake-manual.qdoc
	src/corelib/io/qstorageinfo_unix.cpp
	src/corelib/tools/qbytearray.cpp
	src/widgets/kernel/qwidgetwindow.cpp
	tests/auto/corelib/io/qprocess/tst_qprocess.cpp
	tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
	tests/auto/network/access/qnetworkreply/BLACKLIST

Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
2015-08-26 20:06:57 +02:00
Thiago Macieira b626a5859a Remove vestiges of Qt's own sockaddr_in6 and sockaddr_storage
We weren't using qt_sockaddr_storage, so it's not a problem. But since
we're not using it anyway, we don't really need it. The storage is only
needed if we needed to get a bigger socket address and that only happens
with Unix sockets (paths).

sockaddr_in6, however, was just wrong. Some systems derived from BSD,
like OS X, have a sXX_len field containing the length of the socket
address structure and our qt_sockaddr_in6 was missing sin6_len. As a
result, setting sin6_family was just plain wrong on little-endian
systems. Like all modern systems running BSDs and OS X...

Change-Id: I7de033f80b0e4431b7f1ffff13f900f004c55443
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:50 +00:00
Thiago Macieira 452924c6ff QNativeSocketEngine Unix: do the same as for Windows
Change-Id: Iee8cbc07c4434ce9b560ffff13ca9d9858cf7111
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:47 +00:00
Thiago Macieira 2c64e05d49 QNativeSocketEngine Windows: bring bind() in line with Unix
The IPv4+IPv6 dual stack code that has been in Qt since 5.0 has been
giving test failures for tst_qudpsocket: some binds that shouldn't
succeed do succeed. Instead, copy the core code from the Unix version so
the two OSes will behave the same way.

The one difference in behavior between Windows and Unix is that on Unix
you can bind an IPv4 address to a multicast IP and on Windows you can't.
So I left the "correction" that was in the original code, but I'm unsure
if it is the right thing to do. Are people expecting to join the
multicast group this way?

Change-Id: Iee8cbc07c4434ce9b560ffff13caa1c3d5a7e8fd
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:43 +00:00
Thiago Macieira f35b8c004e QNativeSocketEngine Windows: simplify the conversion to struct sockaddr
We have qt_sockaddr, which has enough storage for our needs and is a
union of all the types. We don't need them to be separate like that.

Change-Id: Iee8cbc07c4434ce9b560ffff13ca9cb960ccf1d7
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:40 +00:00
Thiago Macieira 28dfc33c3a QNativeSocketEngine: add code to send extra IP header data
Change-Id: Iee8cbc07c4434ce9b560ffff13ca48c053bd88ed
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:37 +00:00
Thiago Macieira abe269bb72 QNativeSocketEngine: add code to receive IP header data
Change-Id: Iee8cbc07c4434ce9b560ffff13ca466263abcb1b
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-08-22 22:26:33 +00:00
Thiago Macieira ef05ad0ac5 QNativeSocketEngine: use sendmsg/recvmsg instead of sendto/recvfrom
We'll need to use these functions instead of the ones we're currently
using in order to access the ancillary data.

Note that on Windows the two functions aren't globals, but must be
obtained via ioctl, which means they can fail. If they do, we fall back
to using WSARecvFrom/WSASendTo

Change-Id: Iee8cbc07c4434ce9b560ffff13ca4284acd24132
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:30 +00:00
Thiago Macieira 89efa7333d QAbstractSocketEngine: introduce QIpPacketHeader for datagrams
This commit changes the readDatagram() and writeDatagram() virtual
functions to take a QIpPacketHeader as meta data, instead of a
QHostAddress/quint16 pair. As previously, the header is an "out"
parameter for readDatagram() and an "in" parameter for writeDatagram().

The header pointer in readDatagram() is allowed to be null if the
PacketHeaderOptions indicates WantNone. Otherwise, it must not be null.
The extra options parameter is introduced because we may not always want
all the metadata upon reception. For sending, we know what to include or
not based on what's set in the incoming header parameter.

QIpPacketHeader splits sender and destination because we'll be able to
return both on datagram reception.

Change-Id: Iee8cbc07c4434ce9b560ffff13ca4213255008c7
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-22 22:26:23 +00:00
Oswald Buddenhagen 5a039bf53e Merge dev into 5.6
Change-Id: I061f2513ef58f696e75b11928d89aaaf059659a3
2015-08-17 19:55:41 +02:00
Alex Trotsenko 6fca88607b QAbstractSocket::canReadLine(): remove code duplication
Contents of the QIODevice's buffer is handled in the base
implementation.

Change-Id: I5a3d68e4e8dcb16d7f5ad695ac43127b8047a061
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-13 17:08:28 +00:00
Thiago Macieira 01d0b1d6e3 Merge the multiple implementations of getting the local hostname
This commit moves the functionality from QtNetwork's QHostInfo to
QtCore. Note that due to Windows ws2_32.dll's quirky behavior of
requiring WSAStartup before calling gethostname, this change required
moving the initialization to QtCore too.

On Linux systems, gethostname() gets the name from uname(), so we bypass
the middle man and save one memcpy.

Change-Id: I27eaacb532114dd188c4ffff13d32655a6301346
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-08-13 16:34:51 +00:00
Thiago Macieira dc3dd4f634 Set the socketType and socketProtocol early
The type is known (usually) right after createNewSocket, so let's just
set it. They may get overwritten later (in fetchConnectionParameters),
but this allows early use of setOption when we need to know the socket
type.

Change-Id: Iee8cbc07c4434ce9b560ffff13ca09fccb8e1662
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-08-10 03:41:46 +00:00
Marc Mutz 08f6b38ec7 QtNetwork: Use Q_NULLPTR instead of 0 in all public headers
This is in preparation of adding -Wzero-as-null-pointer-constant (or similar)
to the headers check.

Task-number: QTBUG-45291
Change-Id: I9a05d375d2d9d3ed56079ad024c89a08a290619b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-07-19 10:32:50 +00:00
Thiago Macieira 85ff351266 Revamp the CLOEXEC support in Qt
The pipe2/dup3/accept4 functions and SOCK_CLOEXEC are quite old nowadays
on Linux. They were introduced on Linux 2.6.28 and glibc 2.10, all from
2008. They were also picked up by uClibc in 2011 and FreeBSD as of
version 10.0. So we no longer need the runtime detection of whether the
feature is available.

Instead, if the libc has support for it, use it unconditionally and fail
at runtime if the syscall isn't implemented.

Change-Id: Ib056b47dde3341ef9a52ffff13efcc39ef8dff7d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-07-17 17:36:19 +00:00
Oswald Buddenhagen 68316e6584 Merge remote-tracking branch 'origin/5.4' into 5.5
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
2015-07-17 17:53:19 +02:00
Markus Goetz eae0cb09f1 Network: Fix up previous corruption patch
This is a fix-up for cff39fba10.
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>
2015-07-08 10:02:27 +00:00
Liang Qi 0aa2d318b1 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/global/qglobal.h
	src/corelib/global/qsysinfo.h
	src/corelib/global/qsystemdetection.h
	src/corelib/kernel/qobjectdefs.h
	src/plugins/plugins.pro
	tests/auto/widgets/itemviews/qlistview/qlistview.pro

Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
2015-07-01 11:05:26 +02:00
Nico Vertriest a7f2af0911 Replace MAC OS X with OS X
Task-number: QTBUG-46374
Change-Id: I7bc633ab551740bd328a24b0ccae1d534af47138
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-06-30 07:33:31 +00:00
Liang Qi 4dd8a63fc1 Merge remote-tracking branch 'origin/5.5.0' into 5.5
Conflicts:
	src/plugins/platforms/cocoa/qcocoafiledialoghelper.h

Manually fixed src/testlib/qtestcase.cpp to return the right type.

Change-Id: Id1634dbe3d73fefe9431b9f5378846cb187624e4
2015-06-27 13:54:35 +02:00
Oliver Wolff dbddb1751e winrt: Fixed connectToHost, which is meant to be synchronous
Task-number: QTBUG-46339
Change-Id: I413fef39424a0815ef4604000f85ad37ac2b4dc2
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-06-22 06:24:54 +00:00
Oswald Buddenhagen d32f47b703 fix usage of wince scope
Fix style issues along the way.

Change-Id: Ic6a6de28e198eb0b14c198b802e78845703909b9
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-06-05 10:29:10 +00:00
Simon Hausmann e2f66f9215 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/global/qnamespace.qdoc
	src/corelib/io/qwindowspipereader.cpp
	src/corelib/io/qwindowspipereader_p.h
	src/corelib/statemachine/qstatemachine.cpp
	src/corelib/statemachine/qstatemachine_p.h
	src/plugins/platforms/xcb/qxcbconnection.h
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/tools/qmake/tst_qmake.cpp
	tests/manual/touch/main.cpp

Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
2015-06-03 10:23:56 +02:00
Alex Trotsenko ee336c2096 QAbstractSocket: remove unused member
Change-Id: I0fa3d9e1b00f38a1b04dddd09ec8c04199ad1f34
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-05-26 10:14:43 +00:00
Maurice Kalinowski 21b5298d15 WinRT: Windows 10 compilation fix
Header is required for successful compilation.

Change-Id: I401b7c6fbc594b3cd0c9a4b25afc8ff918d8bddd
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
2015-05-22 14:27:58 +00:00
Alex Trotsenko 737eccf1ef QNativeSocketEngine: add sendmsg(), recvmsg() wrappers on unix
These functions are useful to pass ancillary data such as extended
errors, IP options, protocol control information.

Change-Id: I27574f73a60909c7199027160ca4689511e56b72
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-28 19:35:58 +00:00
Alex Trotsenko 492e710bdb QTcpSocket: add an internal c'tor
This allows further QTcpSocket inheritance in library. Using of this
c'tor is applicable to different socket types that makes them consistent
with existing TCP socket API.

Change-Id: Iafa25c365b88f52d8a3e816a296ee888ceaeb16b
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-04-23 13:37:44 +00:00
Alex Trotsenko 3610513450 QAbstractSocket: virtualize options setting
Some kinds of socket options can be applied only to newly created
descriptors. However, a current QAbstractSocket implementation proceeds
to actions immediately after the socket layer initialization. This
disallows a socket tuning in further inheritance.

Add a private virtual configureCreatedSocket() method that gives an
ability to set the socket options before binding or connecting.

Change-Id: I2d858a400cd46ae7fe5bf0b8900220f6121d0132
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-04-13 20:23:31 +00:00
Alex Trotsenko 1e01be433d QTcpServer: add debug messages to c'tors and d'tor
Change-Id: I257098967a18daf4f9ccd10641fe11c654cc3549
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-13 20:10:45 +00:00
Liang Qi 4973786f0d Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: I04f9f2749f68c0cb5a427b8d84e43b44bb143e4d
2015-04-08 21:24:26 +02:00
Liang Qi 20cac3d9c9 Merge remote-tracking branch 'origin/5.5' into dev
Change-Id: If9fd98525b6b4ca07e5e006fc98bf372a73b8a21
2015-04-06 19:10:25 +02:00
Alex Trotsenko a03c633e4f Virtualize options setting on TCP server socket
Currently, socket options setting is hardcoded in QTcpServer::listen()
function after the engine initialization and before a binding to the
address. This disallows a socket tuning in further QTcpServer inheritance.

Add a private virtual configureCreatedSocket() method that gives an
ability to set the socket options before listening.

Change-Id: Ice9b477e64f21daee96c0ec6d27a8408f9e1aa93
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-05 15:00:01 +00:00
Liang Qi 0e6ee136c9 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/testlib/qtestblacklist.cpp
	src/widgets/accessible/qaccessiblewidgets.cpp

Change-Id: If032adb9296428f62384ed835dbf41ee7a0b886c
2015-04-01 09:10:26 +02:00
Alex Trotsenko add3c14a28 QAbstractSocket: fix some 64-bit issues in debug code
Change-Id: I78b307b2841353f84b033a815035436ec3eef3b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-07 06:42:42 +00:00
Peng Wu d890bc7877 winrt: Fix UDP socket writeDatagram
Remove DataWriter usage and share the write implementation with the rest of the class.

Change-Id: I87734d1bf65ad2e602279317c625885d6f829b6a
Task-number: QTBUG-44051
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-03-27 13:18:27 +00:00
Liang Qi ce9519593a Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
	mkspecs/android-g++/qmake.conf
	qmake/generators/unix/unixmake2.cpp
	src/gui/image/qimage_conversions.cpp

Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
2015-03-31 10:03:31 +02:00
Simon Hausmann 198606f6db Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/plugins/platforms/xcb/qxcbnativeinterface.cpp
	src/plugins/platforms/xcb/qxcbnativeinterface.h

Change-Id: I31b38ba439b9341d51a01c0fd54bea33f7410076
2015-03-16 10:31:07 +01:00
Thiago Macieira d1cd75e81a QNativeSocketEngine: merge the get/setsockopt level constants
No point in having them separate, as that's a recipe for mistakes.

Change-Id: Iee8cbc07c4434ce9b560ffff13ca4132cd1879ed
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-03-15 19:00:11 +00:00
Thiago Macieira f5edf2b6fb IPv6 scope IDs are unsigned
We need to make sure that a large scope ID saved in a QString does get
converted properly back to an integer.

Change-Id: Iee8cbc07c4434ce9b560ffff13c9bd0e9008bd9c
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-03-14 01:15:21 +00:00
Thiago Macieira bc59424ed4 QNativeSocketEngine: merge duplicated code for sin6_scope_id
Let's make sure we don't accidentally have it wrong in one of the three
versions.

Change-Id: Iee8cbc07c4434ce9b560ffff13c9bcf75ba66a66
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-03-14 01:15:18 +00:00
Thiago Macieira f1a365dbd8 Make sure we also treat QAbstractSocket::AnyIPProtocol as IPv6
The native socket engine sets the socketProtocol to that when it means
it's using IPv6 with v4 compatibility on (v6only = false).

We mustn't have faced problems so far because the multicast tests set
don't test v6only = false.

Change-Id: Iee8cbc07c4434ce9b560ffff13ca0aff60673940
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-03-12 16:44:27 +00:00
Alex Trotsenko 9dd0bb851b Make QRingBuffer a 64-bit safe
According to I/O API, QIODevice and its inherited classes should be
able to process a full 64-bit offsets and lengths. This requires
64-bit parameters in operations with internal buffers. Rework
QRingBuffer to avoid implicit truncation of numbers and fix some
64-bit issues in code.

Change-Id: Iadd6fd5fefd2d64e6c084e2feebb4dc2d6df66de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-03-12 05:33:20 +00:00
Daniel Teske ed0c0070f9 Introduce qt_subtract_from_timeout to reduce code duplication.
The same qt_timeout_value function was copied 5 times in qtbase's code,
so provide a common implementation in QIoDevice that can be used by
everyone.

This commit also corrects the remaining time calculation in
QProcess::waitForBytesWritten and QProcess::waitForFinished by using
this new function.

For QProcess::waitForFinished, if the process started within almost exactly
the timeout time passed to waitForFinished, msecs - stopWatch.elapsed() would
be -1, which is a special value.

Change-Id: I7b76ee6bae695eafdd02e3db03e2ff1e23a7f40c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-09 17:11:54 +00:00
Thiago Macieira 126d489f7f Adjust the socket address family before bind()/connect()/sendto()
If our socket is already of a given type (probably due to a previous
call to bind()), then constrain the incoming target address to be of the
same family. On some OSs, trying to send or connect to an IPv4 address
from an IPv6 socket will fail with EINVAL, even if the socket is not in
"v6only" mode.

bind() can't be called after already being bound, but the function can
still be called on a socket created by the user and passed on with
setSocketDescriptor().

Change-Id: I209a1f8d0c782c6b6de2b39ea4cfad74d63f3293
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-03-04 23:58:11 +00:00
Thiago Macieira 9fb68a90af Fix bind+connect in both TCP and UDP
This has been known to be broken for a while. Now it works: you can bind
and you'll retain the port (and the file descriptor) for the connect
call. Incidentally, in fixing the binding for more than one IP for the
hostname (with event loop), this commit fixes the setSocketDescriptor
XFAIL.

[ChangeLog][QtNetwork] Fixed a bug that caused both QTcpSocket and
QUdpSocket to close the socket and lose any bound ports before
connecting. Now bind()/setSocketDescriptor() followed by connect() will
retain the original file descriptor.

Task-number: QTBUG-26538
Change-Id: I691caed7e8fd16a9cf687b5995afbf3006bf453a
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-03-04 23:58:03 +00:00
Frederik Gladhorn 34b14a8472 Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
	examples/xml/htmlinfo/simpleexample.html
	examples/xml/rsslisting/rsslisting.cpp
	qmake/generators/win32/msbuild_objectmodel.cpp
	src/3rdparty/harfbuzz-ng/src/hb-private.hh
	src/corelib/global/qlogging.cpp
	src/corelib/io/qstorageinfo_unix.cpp
	src/corelib/thread/qwaitcondition_unix.cpp
	src/gui/kernel/qguiapplication.cpp
	src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp
	src/testlib/doc/src/qt-webpages.qdoc
	tests/auto/other/qaccessibility/tst_qaccessibility.cpp

Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
2015-02-24 21:02:08 +01:00
Jani Heikkinen cb95fff1c7 Fixed license headers
Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-17 18:46:09 +00:00
Kai Koehne 478f319df9 LocalSocket: Do not return early in waitForReadyRead
Do not return early on Windows if bytes are still in the buffer.
This is not in line with the behavior on other platforms,
and also breaks apps where the caller knows that the
bytes available are insufficient.

[ChangeLog][Network][QLocalSocket] On Windows, waitForReadyRead
now always waits for more data, even if bytes are still in the
buffer.

Task-number: QTBUG-16688
Change-Id: I1425a5780c7707295374934a6b5446ff8e148cc8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-16 16:01:20 +00:00
Thiago Macieira d866f6e886 Save two system calls for setting a socket non-blocking on Linux
Linux's socket(2) system call can take SOCK_NONBLOCK and let us avoid
the extra two fcntl(2) to change the setting after it's created.

Change-Id: Ie0d7a2d51acc21acd850cbee6d0f76e27b1ae859
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-02-15 01:26:28 +00:00
Konstantin Ritt 9b67d89c24 Pass params of shareable type by const-ref rather than by value
...where passing them by value was not intentional.

Change-Id: Ifd5036d57b41fddeeacfbd3f5890881605b80647
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-02-13 16:29:16 +00:00
Kai Koehne cd83859bd6 Network: Fix operator<<(QDebug, ...) operations
Use the

  QDebugStateSaver saver(debug);
  debug.resetFormat().nospace();

idiom to unify the formatting and whitespace handling.

Change-Id: Id346d63b3f589b60ca19e4459271d587f1a0c003
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-02-12 10:08:20 +00:00
Alex Trotsenko 071716f2da QAbstractSocket: remove unneeded cleanup calls and private member
QAbstractSocket::close() always calls QIODevice::close(), which resets
QIODevice's internal read buffer. So it makes no sense to make same calls
from disconnectFromHost(). This made the closeCalled private member
superfluous.

Change-Id: I4ec64e9711490e44e737763e4ed7fb41bffe2556
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-02-11 21:19:13 +00:00
Jani Heikkinen 83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Frederik Gladhorn fc35f71434 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro
	src/gui/image/qimage_conversions.cpp
	src/gui/opengl/qopenglextensions_p.h
	src/gui/text/qtextengine.cpp
	src/network/ssl/qsslsocket_openssl.cpp
	src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
	src/plugins/platforms/eglfs/qeglfsscreen.cpp
	src/plugins/platforms/eglfs/qeglfswindow.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase.cpp
	src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp
	src/plugins/platforms/windows/qwindowsnativeinterface.cpp
	src/plugins/platforms/windows/qwindowsscreen.cpp
	src/plugins/platforms/windows/qwindowswindow.cpp
	src/plugins/platforms/windows/qwindowswindow.h
	src/plugins/platforms/xcb/qxcbdrag.h
	src/widgets/itemviews/qabstractitemview.cpp
	src/widgets/kernel/qwidget.cpp
	src/widgets/util/qsystemtrayicon_p.h
	tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp

Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp
conflicts.

Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
2015-02-10 09:42:25 +01:00
Olivier Goffart ba7cedb058 QtNetwork: use Q_ENUM instead of Q_ENUMS
Change-Id: I531191fae910354abd2e5ceb7c8ecf0519ccad97
Reviewed-by: Peter Hartmann <peter-qt@hartmann.tk>
2015-02-08 08:48:51 +00:00
Kai Koehne 6a607aa7aa Do not specifically mention features supported since XP
We do not support Windows older versions in the first place ...

Change-Id: I2cd3135f1b7f2dac6929c07624ea9373f4ac0ff1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-04 23:12:25 +00:00
Sérgio Martins ad2ea16550 Fix 1700 override warnings [-Winconsistent-missing-override]
Classes should either use or not use override, otherwise it hurts
code readability.

Some inline keywords were removed because of an error with MSVC2010:
error C2216: 'override' cannot be used with 'inline'

Change-Id: I7276d5525a92281bd0d743beb11d0dc73441443b
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-02-03 22:52:14 +00:00
Thiago Macieira a4c837b3a1 Fix QUdpSocket's emission of readyRead()
The documentation says that QUdpSocket emits readyRead() only for one
datagram and that if you don't read it, the class will not emit again.
That should be implemented by disabling of the socket notifier once we
have the datagram already read, but was broken.

In turn, that breakage caused a live-lock of the event loop: since we
didn't disable the notifier nor read the pending datagram, the event
loop would fire every time for the same datagram.

The re-enabling of the notifier was already working.

Task-number: QTBUG-43857
Change-Id: Ic5d393bfd36e48a193fcffff13bb32ad390b5fe8
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-22 04:44:10 +01:00
Frederik Gladhorn b6191b16d4 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/global.pri
	src/corelib/global/qcompilerdetection.h
	src/corelib/global/qglobal.h
	src/corelib/tools/qdatetime.cpp
	src/plugins/platforms/xcb/qxcbscreen.h
	src/plugins/platforms/xcb/qxcbwindow.h
	src/widgets/dialogs/qcolordialog.cpp
	src/widgets/dialogs/qcolordialog_p.h
	tools/configure/configureapp.cpp

Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
2015-01-21 11:10:14 +01:00
Alex Trotsenko 70e3935c38 QTcpServerPrivate: move class definition to the separate header
This allows further QTcpServer inheritance in library. Also,
add protected c'tor for this purpose.

Change-Id: I1a5c0cdedd64bcd41b028e09d7752248506296c7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-18 10:19:04 +01:00
Thiago Macieira 2924279c23 Don't unnecessariy set localAddress in QNativeSocketEngine's nativeBind
The outer QNativeSocketEngine::bind() function will call
fetchConnectionParameters() as soon as nativeBind() returns, so don't
bother copying localAddress.

Change-Id: Ice13e507ccb9c575a7d3bdf0b41394f35230b746
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-11 03:32:57 +01:00
Frederik Gladhorn aaff94c2df Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/tools/qbytearray.cpp
	src/gui/kernel/qplatformsystemtrayicon.cpp
	src/gui/kernel/qplatformsystemtrayicon.h
	src/plugins/platforms/xcb/xcb-plugin.pro

Change-Id: I00355d3908b678af8a61c38f9e814a63df808c79
2014-12-29 16:37:38 +01:00
Thiago Macieira 98a7497d74 Silence warning in tst_QUdpSocket::multicast for Any+IPv4
QUdpSocket doesn't support binding to QHostAddress::Any and then joining
an IPv4 multicat group since QHostAddress::Any is really an IPv6 socket
with v6only = false. The test did check this case, but failed to ignore
the warning.

Change-Id: I62d782408319a6e566e0ff1a6081b706ac1f669c
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-12-24 22:49:26 +01:00
Thiago Macieira 23ba824b7d Fix silly mistake: 0 is a valid file descriptor
Change-Id: I60baa01f0ef9419a73535c761c4722c5abd6f26e
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-12-24 14:42:51 +01:00
Simon Hausmann 015002fec9 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	doc/global/template/style/online.css
	mkspecs/android-g++/qmake.conf

Change-Id: Ib39ea7bd42f5ae12e82a3bc59a66787a16bdfc61
2014-12-10 07:58:06 +01:00
Oliver Wolff 451668d252 WinRT: Only set keepalive socket option in certain socket states
The keepalive socket can only be set if the socket is not connected
(see
http://msdn.microsoft.com/en-us/library/ie/windows.networking.sockets.streamsocketcontrol.keepalive)

Task-number: QTBUG-38623
Change-Id: Ia40dc66f071a8109538e4be7a8f420de81d5be8d
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
2014-12-05 08:00:44 +01:00
Olivier Goffart 5180f32c5a Add Q_DECL_OVERRIDE in the src subdirectory
Done automatically with clang-modernize on linux

(But does not add Q_DECL_OVERRIDE to the function that are marked
 as inline because it a compilation error with MSVC2010)

Change-Id: I2196ee26e3e6fe20816834ecea5ea389eeab3171
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-12-03 09:57:11 +01:00
Oliver Wolff db31a5009a WinRT: Fill data in QUdpSocket::readDatagram
There was still a TODO left in there and the data was never filled.
In addition to filling the data, some pointer checks for addr and port
were added.

Task-number: QTBUG-42244
Change-Id: I8e358b5544edcdb4077a52f433e4bc17d92014ce
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
2014-11-16 20:00:36 +01:00
BogDan Vatra 3203601315 Fix QLocalServer, create a temp path as small as possible.
If requestedServerName is a full path e.g. "/tmp/some/long/path" the
temp path will end up "/tmp/some/long/path.balblabla/tmp/some/long/path"
and it might fail because it doesn't fit in addr.sun_path.

Change-Id: I6a138fd92be9e0b3b432ab9ac977d04cb330f3fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-28 21:30:18 +01:00
BogDan Vatra aa4d76e468 Remove redundant permission set.
The temp socket is in a safe place. There is no need to set any
permissions at this point.

Change-Id: I18ea4b71b7c20db65dc46c57ddc5d34d8b93f577
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-28 19:15:46 +01:00
BogDan Vatra 4b8d4034d7 Removed pointless conditional.
Mode is always != 0 at this point (QLocalServer::WorldAccessOption is
a combination of the bits tested later).

Change-Id: I5abfb4e49fdc7903e21398525af05989f40d7f94
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-10-28 19:15:39 +01:00
BogDan Vatra 80d31849e2 Fix indentation & coding style.
Change-Id: Id974abca3ee2be9cb70c380a842e76c0ba1520bd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-10-28 19:15:32 +01:00
Shawn Rutledge 2580192def Windows native socket: handle WSAENETRESET the same as WSAECONNRESET
Task-number: QTBUG-41934
Change-Id: Ib92d8a83965e11e2706ef0daba945cb00692d2c5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-10-22 08:11:20 +02:00
Tom Hirst 1910454fe0 prevent if_nametoindex being called with empty string
Calling if_nametoindex with an empty string will always return 0, but
on ARM linux platforms this call seems to be very expensive (~30ms),
adding a large overhead to calls such as QUdpSocket::writeDatagram()

Task-number: QTBUG-37092
Change-Id: Iad00867585d9534af1ddaee936dd4e4dc5e03611
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-10-12 10:45:50 +02:00
Alessandro Portale 106487387d Removing a few unneeded "? true : false"
Change-Id: Ib13f0ddd65fe78f5559f343f2fc30756b1d3ef76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-10-09 09:43:26 +02:00
Gabriel de Dietrich 8ab25620d3 Merge remote-tracking branch 'origin/5.3' into 5.4
Conflicts:
	src/network/socket/qnativesocketengine_unix.cpp
	src/widgets/kernel/qwidget_qpa.cpp

Change-Id: I6f1aa320d5ca66cd92d601a95885aeaab0abb191
2014-09-29 13:38:11 +02:00
Matti Paaso 974c210835 Update license headers and add new license files
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL

Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2014-09-24 12:26:19 +02:00