summaryrefslogtreecommitdiffstats
path: root/src/network
Commit message (Collapse)AuthorAgeFilesLines
* Fix documentation of setBackendConfigurationOptionAndré Klitzing2018-04-252-5/+5
| | | | | | | | Introduced by mistake in f55c73ede28d4455f555a28e401407326ac9b954 Change-Id: Ieac8fc0a6bb536e5ef3770a22785fe41d4033ee9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Compile when using -no-feature-networkinterfaceAndy Shaw2018-04-181-0/+4
| | | | | | Change-Id: I12a808599dd1fecaebc2e85a96da27a044666009 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QSslCertificate (OpenSSL) use the correct *_free functionv5.11.0-beta4Timur Pocheptsov2018-04-153-1/+6
| | | | | | | | | | When releasing a STACK_OF(GENERAL_NAME). Actually, GENERAL_NAME_free is a special function, not the same as OPENSSL_sk_free. Task-number: QTBUG-57679 Change-Id: I3ed300bb95e8be35bd9cd06b6dbc6e59c7c6a4ee Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* HTTP/2 - reset uploadByteDevice if necessaryTimur Pocheptsov2018-04-121-0/+14
| | | | | | | | | | | | | | | | 1. If a request was redirected or some error was encountered, we try to reset the uploading byte-device. 2. Disconnecting from the byte-device is not enough, since we have a queued connection, _q_uploadDataReadyRead() gets called even if byte-device was deleted and thus sender() can return null - we have to check this condition. 3. Update auto-test with a case where our server immediately replies with a redirect status code. Task-number: QTBUG-67469 Task-number: QTBUG-66913 Change-Id: I9b364cf3dee1717940ddbe50cba37c3398cc9c95 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QSslSocket (OpenSSL 1.1) - respect requested protocol versionTimur Pocheptsov2018-04-113-3/+71
| | | | | | | | | | | | Properly handle single protocol TLS configurations. Previously, due to the use of generic (non version-specific) client/server method they worked as ranges of protocols instead. This also fixes a couple of previously broken tests. Task-number: QTBUG-67584 Change-Id: Ied23113a4fab6b407a34c953e3bd33eab153bb67 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix TlsV1SslV3 case in the WinRT SSL backendMårten Nordheim2018-04-091-1/+1
| | | | | | | | | | | It would previously only enable TLS v1.0, but it should also enable SSL v3. According to Microsoft's documentation[0] that is exactly what "SocketProtectionLevel_Ssl" does. [0]: https://docs.microsoft.com/en-us/uwp/api/windows.networking.sockets.socketprotectionlevel Change-Id: Id48f1ad310d994b8379116c9fa2102db858d7f69 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* winrt: socket engine: Replace last occurrences of old connect syntaxOliver Wolff2018-04-061-3/+6
| | | | | Change-Id: I1d2f3b0b39de252f5392a2411ff4e3d94fd8593b Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Properly deinitialize socket on connection failureOliver Wolff2018-04-061-0/+1
| | | | | | Change-Id: I4dde73423111ca4af386fa76ac26d1a1161fe493 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: process pending data before closing a socket connectionOliver Wolff2018-04-062-6/+22
| | | | | | | | | | | If data is received and the remote immediately closes the connection, it was possible that data was lost. If a remote closes the connection make sure that any pending data is processed, before signaling closing of the socket. Change-Id: Ia94a616a31184fd28695919baaff99811fe0f1dd Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* HTTP/2 - treat HEADERS frames as valid for streams in 'open' stateTimur Pocheptsov2018-04-051-3/+4
| | | | | | | | | | | | | | | | Previously, I erroneously expected HEADERS frame only on a stream, which is in half-closed (local) or reserved (remote) state. But 'open' state is also valid (RFC7540, 6.2). For example, we start uploading some data, we have sent HEADERS frame and now are sending DATA frames, without END_STREAM flag set yet; this stream is in 'open' state. If a server wants to reply with some error status code or redirect - it does not have to wait for our END_STREAM flag, reading all this data that will be discarded anyway. Task-number: QTBUG-67469 Change-Id: I53e3a5e9b2ab7f7917ae083ba44e862a227db238 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix typoed integrity conditionKari Oikarinen2018-04-031-1/+1
| | | | | | | | Amends 594fe5c4636cb783bb7840efff4171e772ae906a. Change-Id: I0fb5ab79d895cfd9698db9b4a4394481299a7e1a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* macOS: Fix memory leak in systemCaCertificatesPablo Marcos Oltra2018-03-271-1/+1
| | | | | | | | | | | We were releasing only the memory of latest iteration since cfCerts was being rewritten in every iteration, invalidating the RAII. Hence, we need to define the variable within the loop to ensure the object is released for every iteration. Task-number: QTBUG-66937 Change-Id: Iaa9365168728337c6cdaac4aef686652903cf5a9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QNetworkInterface/Linux: fix support for P-t-P tunnelsThiago Macieira2018-03-261-1/+8
| | | | | | | | | | | | | | | | The kernel stores the local address in IFA_LOCAL and the peer's address in IFA_ADDRESS. My testing with loopback, Ethernet, WiFi, OpenVPN TAP and TUN and Openconnect shows IFA_LOCAL is always passed and always correct, so we could have used just that, but let's leave the use of IFA_ADDRESS because that's also what all libcs' getifaddrs() do. [ChangeLog][QtNetwork][QNetworkInterface] Fixed a regression in reporting the local address of a point-to-point tunnel network interface. Task-number: QTBUG-67226 Change-Id: I04a43ee94975482f9e32fffd151eb393d1775580 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Document an odditity in WinRTs SSL backendMårten Nordheim2018-03-231-3/+3
| | | | | | | | | | | | | | | Internally we use "Tls11" and "Tls12" from Microsoft's API for TlsV1_1 and TlsV1_2 respectively. However, in their documentation these values are defined to also include the lower TLS versions when you use them. We should document this. For "SslV3" TLS V1.0 support will also be enabled. https://docs.microsoft.com/en-us/uwp/api/windows.networking.sockets.socketprotectionlevel Change-Id: I0b20fb745eba40afc37e8430008872fc8174a72d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Fetch connection parameters when connection is successfulOliver Wolff2018-03-231-0/+1
| | | | | | Change-Id: Iaf5f5d93cd07429626d5c500ac04e67daada8e6e Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* winrt: Remove partially read datagrams from queueOliver Wolff2018-03-231-6/+2
| | | | | | | | | | According to the documentation, datagrams that were not completely read are discarded. Change-Id: Id3a038d8aeeba05e8c8f92b70877f5f5297b89ca Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* winrt: Add initial setting of options and additional state checksOliver Wolff2018-03-231-2/+92
| | | | | | | | | | | | The initial settings are done for other socket engines too. The state checks return a message when they fail. Socket engine auto tests rely on these messages to be shown. Change-Id: If7734b453a24ecee4c3a028395ecdbb12859c871 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* winrt: Remove unneeded functionOliver Wolff2018-03-232-37/+0
| | | | | | Change-Id: I62f3abcabf1a0e5f909c603cbdcf407e36bd0402 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
* winrt: Rework socket handlingOliver Wolff2018-03-232-98/+119
| | | | | | | | | | | | | | | | | | | | | | | | Buffer handling is now completely moved to the worker. Instead of moving data around all the time, the worker is responsible for buffer handling. When reads happen, the data that is read is used directly from the worker and its buffer is updated. With the previous approach it was possible, that transfers never completed. It was possible, that new data was read between calls of bytesAvailable and read and the availability of that data was never communicated to the user. If a read that does not read all the data happens, we signal, that there is still data available, so that the user is notified about that fact. At the same time we avoid unnecessary readyRead calls by blocking them until a read happens. To make future debugging sessions easier, categorized logging (including verbose) was added to the socket engine. Task-number: QTBUG-65556 Change-Id: I12020ffcccf8eb3efec9c36dc5b0e6c0ebef7eb5 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Make QSsl::SecureProtocols also enable use of TLS1.{1,2}Mårten Nordheim2018-03-211-1/+5
| | | | | | | | | | | | | Previously it was only enabling use of TLS1.0, unlike our openssl backend, which understandably caused some confusion among some of our users. Seeing as this is also the default value in QSslConfiguration it is nice to have it negotatiate more secure ciphers. Task-number: QTBUG-67112 Change-Id: Ie216703da1ec4e6b973a881040e14816ad4c0a32 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QNetworkReply: fix isFinished() for disabled repliesDavid Faure2018-03-171-0/+1
| | | | | | | | | | When network access is disabled, every QNAM request returns a QDisabledNetworkReply instance, which emits error and finished immediately. However isFinished() was still false, which could confuse application code. Change-Id: Ifd43c86364b11a9583a38fde536e6c09c109b55f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Expand Config to Configuration in method namesEdward Welbourne2018-03-134-15/+15
| | | | | | | | Commit f55c73ede28d4455f555a28e401407326ac9b954 added various backendConfig methods; API review for 5.11 pointed out that Config should not be abbreviated. Change-Id: I3b294b44a030b2a6e4cdd034fa27583c228dfe42 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix 5.11 API review findings in QtNetworkFriedemann Kleint2018-03-102-2/+2
| | | | | | | | | | | | Rename QNetworkInterface::maxTransmissionUnit() to QNetworkInterface::maximumTransmissionUnit() Change-Id: I24a80b1317363e8d5da5f251ec908da9a51a6b0a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix build when ftp feature is disabledPasi Petäjäjärvi2018-02-211-0/+1
| | | | | | | Configuring Qt with -no-feature-ftp cause build to fail. Change-Id: I47f1cdc400702d0211a9f620c8606983f08fa70c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix some qdoc-warnings for 5.11Friedemann Kleint2018-02-211-1/+1
| | | | | | | | | | | | | | | | Rename example savegame and its snippets following a6b697ca13945a174cff9f3e9b1af1cf61c0bea5. Fix: /qtbase/examples/corelib/serialization/savegame/doc/src/savegame.qdoc:28: warning: Cannot find file 'json/savegame/savegame.pro' or 'json/savegame/savegame.qmlproject' qtbase/examples/corelib/serialization/savegame/doc/src/savegame.qdoc:98: (qdoc) warning: Cannot find file to quote from: 'json/savegame/level.cpp' json qtbase/src/network/ssl/qsslconfiguration.cpp:889: warning: Undocumented parameter 'name' in QSslConfiguration::setBackendConfigOption() qtbase/src/corelib/tools/qbitarray.cpp:314: warning: No such parameter 'len' in QBitArray::fromBits() Change-Id: If59512873ca2116b89490927fdbf9ea1d8b237a8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* Fix configure.json (OpenSSL 1.1 on Windows)Timur Pocheptsov2018-02-161-0/+4
| | | | | | | | | Since 1.1 lib names are similar to what they have on other platforms, that is: libssl and libcrypto. Task-number: QTBUG-62733 Change-Id: I477899433719fe36104491601d8cb71004b265ae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-157-7/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/corelib.pro src/corelib/global/qrandom.cpp src/network/access/qhttpnetworkrequest_p.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoansmenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/offscreen/qoffscreenintegration.h src/widgets/kernel/qaction.cpp src/widgets/widgets.pro Done-with: Andy Shaw <andy.shaw@qt.io> Change-Id: Ib01547cf4184023f19858ccf0ce7fb824fed2a8d
| * Fix configure.json for opensslv11 featureTimur Pocheptsov2018-02-031-5/+6
| | | | | | | | | | | | | | | | | | Both the test/feature had some errors (incorrect "use" and incomplete "condition") + remove "feature". Task-number: QTBUG-62733 Change-Id: If4b8d2fe080d8fba961231834839afadaed0f0c5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * MSVC: Don't set a DLL base address for 64-bitThiago Macieira2018-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The linker complains: LINK : warning LNK4281: undesirable base address 0x67000000 for x64 image; set base address above 4GB for best ASLR optimization And it's not really required anymore, as the recommended /DYNAMICBASE is the default. Change-Id: I56b444f9d6274221a3b7fffd150caab1beecfd43 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Merge "Merge remote-tracking branch 'origin/5.9' into 5.10" into ↵Liang Qi2018-01-243-2/+4
| |\ | | | | | | | | | refs/staging/5.10
| | * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-243-2/+4
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qrandom.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: Icc10543a1f2db5d640d01796bfec70a63517a6b2
| * | | QNAM should prepend Host header to the header list instead of appendingKonstantin Tokarev2018-01-245-1/+13
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When original QNetworkRequest is missing "Host" header (which is the most common case), it is provided automatically from request URL. However, resulting header is appended to the list, i.e. after all headers specified by user, which may include a big bunch of cookies. To the contrary, RFC 7230 suggests: "However, it is good practice to send header fields that contain control data first, such as Host on requests and Date on responses, so that implementations can decide when not to handle a message as early as possible". Many other user agents are following this suggestion. Task-number: QTBUG-51557 Change-Id: I1448ed3ae124f5ce86a8ca8ff35f5d05476a005d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-143-2/+4
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * | Support for Q_OS_ANDROID_EMBEDDED and android-embedded build flagsOtto Ryynänen2018-01-203-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Embedded Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build embedded Android builds. (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I8406e959fdf1c8d9efebbbe53f1a391fa25f336a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Fix typosJarek Kobus2018-02-131-2/+2
| | | | | | | | | | | | | | | Change-Id: Id625efea998f2b4dce9970b903830dc3b3efcd3d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Introduce QSslConfiguration::backendConfigLars Schmertmann2018-01-2610-0/+170
| | | | | | | | | | | | | | | | | | | | | | | | With this change it is possible to use all supported configurations in different backends without any new interfaces. Change-Id: Ib233539a970681d30ae3907258730e491f8d3531 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Correct since value of QNetworkRequest::Http2DirectAttributeAllan Sandfeld Jensen2018-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It did not make it into 5.10 as far as I can tell. Change-Id: I01f950c476f2c98f4ed40d2cafd15ecc112a3427 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | doc: Add more missing return types to \fn commandsMartin Smith2018-01-245-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | Added missing return types to \fn commands and removed some unnecessary \internal comments. Change-Id: Ie6691f83a1c510134d1e83c3d98758360a67217e Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-202-2/+2
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
| * | QNativeSocketEngine: fix typo in warning messageAlex Trotsenko2018-01-201-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic53a8a53b882f1e6b6434b943fff0a6fcd95f341 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Tor Arne Vestbø2018-01-161-1/+1
| |\| | | | | | | | | | Change-Id: I896b0cf54f317c4336cc3d3db319a0b89e421728
| | * Add overrideAlbert Astals Cid2018-01-101-1/+1
| | | | | | | | | | | | | | | Change-Id: Iafa8e21d7d47797c1c085aced9a0cd92179385a2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | doc: Fix all remaining non-link qdoc warningsMartin Smith2018-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fixes included adding missing '!' characters to qdoc comment markers, correct misspelled words, adding documentation for an anonymous enum type, and replacing Q_QDOC with Q_CLANG_QDOC. There remain 12 qdoc link warnings in QtBase. Change-Id: I00447722e6e029f5aed273b3cd571cef33c119b4 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | doc: Remove qdoc marker from inside #if 0 blockMartin Smith2018-01-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | clang sees the comments inside #if 0 blocks when they occur in source files. Therefore qdoc comments can't appear inside those blocks. Change-Id: I5c9c7e9e002042710a5c26252bc7029b2d163dcf Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Add missing class qualifier in \fn commandMartin Smith2018-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The class qualifier was missing in the \fn command for the move copy constructor. Change-Id: Ia3633efde155ed19ac8460d760a5248e52097ea1 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | doc: Add template clauses in qhostinfo.cppMartin Smith2018-01-122-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few \fn commands were missing the template clause now required by clang-qdoc. This update adds the template clauses. It also changes an instance of Q_QDOC to Q_CLANG_QDOC. Change-Id: I2850d43d98debb80e01c36a524e0c00651a89298 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | | Merge "Merge remote-tracking branch 'origin/5.10' into dev" into ↵Liang Qi2018-01-121-2/+10
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-111-2/+10
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/src/hb-private.hh src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/sql/doc/src/sql-driver.qdoc Change-Id: I38f0e82fcd37926cbf3c1915e009a731040d4598
| | * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-091-2/+10
| | |\| | | | | | | | | | | | | Change-Id: I840849c072075a69819eb185b20bc42c3de0f825
| | | * QFtp: only use fall-back password for anonymous accessRyan Chu2018-01-091-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code used to fall back to anonymous login independently for username and password; however, it should only use a fall-back password if the username is missing or (case-insensitive) "anonymous". When a non-anonymous username is given without password, we should simply skip he PASS message to FTP. If the FTP server requests a password, in the latter case, QFtp will signal authenticationRequired; in all cases, if the server rejects the given credentials, QFtp signals authenticationFailed. Either way, the client code can then query the user for credentials as usual. Task-number: QTBUG-25033 Change-Id: I2a4a3b2725819ab19c8a7e4baa431af539edcd8d Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>