summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/remoteobject.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash at the very end of install if admin rights needed in WindowsKatja Marttila2017-03-301-1/+2
| | | | | | | | | Removed the destroy call to RemoteClientPrivate object as that has been destroyed at that point already in packagemanagercore destructor Task-number: QTIFW-943 Change-Id: Ibb7b4f00842d780b32055dbdc3673d031c52a89a Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Merge remote-tracking branch 'origin/2.0'Katja Marttila2017-01-301-17/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Changelog dist/config/config.xml dist/packages/org.qtproject.ifw.binaries/meta/package.xml dist/packages/org.qtproject.ifw/meta/package.xml installerfw.pri src/libs/installer/lib7z_create.h src/libs/kdtools/kdgenericfactory.cpp src/libs/kdtools/kdgenericfactory.h src/libs/kdtools/kdupdaterapplication.cpp src/libs/kdtools/kdupdaterapplication.h src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp src/libs/kdtools/kdupdaterupdatesourcesinfo.h src/libs/kdtools/localpackagehub.cpp src/libs/kdtools/localpackagehub.h src/libs/kdtools/updatefinder.cpp src/libs/kdtools/updatefinder.h tools/binarycreator/resources/mkdmg.sh Change-Id: Iab2513f549832d2e750e77131c673457ab265af4
| * License header update to GPL-EXCEPTKatja Marttila2017-01-261-17/+12
| | | | | | | | | | Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1 Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
* | Revert "Windows: Fix crashes in elevated installation"Katja Marttila2016-05-201-2/+1
|/ | | | | | | | This reverts commit 95ae661cba931a982d12cd68d8b4da392d74bdd0. As we now require at least Qt5.5.0 we don't need this workaround Change-Id: I6ab930886bc9af0716a61a8e21b12db83018b0c2 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Update license headersIikka Eklund2015-12-291-4/+3
| | | | | | | | | Update existing license headers. LGPL -> LGPLv21. Update copyright year as well. Change-Id: Ie1d71f8c68186b8f625f409ddf94691f178093c9 Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com> Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Replace waitForBytesWritten with flushKai Koehne2015-05-111-0/+1
| | | | | | | | | | | Unfortunately waitForByesWritten is known to fail from time to time: QTBUG-24451 . We introduced it for making sure large data is actually send, but flush() seems to serve the same purporse. The only drawback is that flush() operates on the concrete socket, and therefore needs to be called on the caller's side. Change-Id: Ic92db298b3dad2c3f9eaa47d160aec517e33e284 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* RemoteObject: Do not use processEvents()Kai Koehne2015-04-241-9/+1
| | | | | | | | | | | | | Replace the hand-written calls to processEvents() with socket->waitForConnected(). It's unclear why this wasn't done in the first place (maybe to keep the UI responsive when the IFW was still single-threaded)? Anyhow, this allows delivery of spurious events too, which can lead to weird hang-ups. Task-number: QTBUG-45625 Change-Id: I0ff2b85c05d0cc9d0102cf13791935be83c10536 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Windows: Fix crashes in elevated installationKai Koehne2015-04-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | Until Qt 5.5.0, QLocalSocket::waitForReadyRead() immediately returns when there are still bytesAvailable(). This means our busy loop for polling new data gets stuck. To work around this we've been explicitly calling processEvents(), which however can have undesired side effects: Namely that non-network events get delivered too, and that 'intermediate' requests are sent to the server, resulting in the protocol getting out of sync - requests get replies from intermediate commands, ultimately leading to crashes. The patch therefore removes the processEvents() call, and instead works around the QLocalSocket::waitForReadyRead() deficiency by subclassing. Task-number: QTIFW-663 Task-number: QTIFW-656 Task-number: QTIFW-659 Change-Id: I4099fa1702cd8dceda954d672c9c3dac0ca7fd66 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix handling of incomplete messages in client/server communicationKai Koehne2015-02-201-25/+16
| | | | | | | | | | | | | Do not assume that the socket always contains enough data. Instead, prefix every 'packet' with its size, and back off until the full packet is available. The actual encoding/decoding is done in Protocol::sendPacket, Protocol::receivePacket. To be able to use the methods everywhere, replies are now prefixed by a Protocol::Reply command. Change-Id: I75a89605b2cc3fe2f2f841d8e3159fc8aea65d77 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Use local sockets for client-server communicationKai Koehne2015-02-201-7/+7
| | | | | | Change-Id: I12bfef671ab31ae9fb8c4bb02776517e7f434d27 Task-number: QTIFW-228 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Update CopyrightKai Koehne2015-02-181-7/+7
| | | | | Change-Id: I8dde6629cfd461104364d5cdc255cb54b58283fa Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* Do not defer deletion of socket in RemoteObjectKai Koehne2015-02-021-2/+1
| | | | | | | | | | | | | The 7z backend can create and close a considerable number of RemoteObjects without ever returning to the event loop. For big archives the socket objects are therefore piling up, slowing down the extraction over time. QTcpSocket::close is documented to close the connection automatically in its destructor, so deleting it instantly is safe. Change-Id: I95323b53e6886a7bc6c0b59dd3c13ade4aa9567c Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Jarek Kobus <jaroslaw.kobus@theqtcompany.com>
* Remove occurrences of QHostAddress.kh2014-12-021-1/+0
| | | | | | | | | The overload of QAbstractSocket::connectToHost() did convert to QHostAddress back to QString to call the other connect version. Change-Id: Idd4089fd92cfd9b103786395a455d0a18abc2c4a Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Move and rename connect method, adapt depending code.kh2014-12-021-8/+46
| | | | | | | | | | Move the connect into the remote object class and rename. Avoids passing around the socket and possible writing to the socket in a different thread. Also inherit the private remote client class from remote object to avoid code duplication (connect and send). Change-Id: I6e747dbbd8eff2846362d7f5fa4fa170495ac503 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix online installation into directory with elevated permissions.kh2014-12-011-2/+10
| | | | | | | | | | | | | | | | | Inside the Resource class we can't use QFile, as that will access the elevated running server to read from a only client side mapped file. Adjust Resource::readData to behave properly with the file engine's nativeRead(...) implementation, e.g. on Unix it returns -1 if called to read with a size of 0 bytes. Do not write to the socket if we are running in a different thread than the one the socket was created in. Fix logically broken connect function. Task-number: QTIFW-572 Change-Id: I993b5d3a5c217b0aedbbc27837dce2619e51d224 Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Takayuki ORITO <iori.ayane@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Add LGPLv3 as new licenseKai Koehne2014-10-161-14/+7
| | | | | | | Change-Id: I61158f956894e209dccf83744b4753774676099d Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Fix some reorder warningsNiels Weber2014-06-031-1/+1
| | | | | Change-Id: I714224c5616d40c5f36598a4682a07dfa0ff7136 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* We need to pass the socket to the connect function.kh12014-06-031-2/+3
| | | | | | | | | | The keep alive thread does try to delete the socket it gets from the connect method, but since the socket was created in a different thread and we will hit the: "Socket notifiers cannot be disabled from another thread" warning. Change-Id: Ibafcd67f8cdb51b365c3ef230f1ebd447bdd306a Reviewed-by: Niels Weber <niels.weber@digia.com>
* Introduce new classes for client-server communication.kh12014-06-031-0/+105
Still based on what we had already, though more separated. Change-Id: I4cce298003a4ffc2ebcec01fea1a07adfbfdf990 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> Reviewed-by: Niels Weber <niels.weber@digia.com>