summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/remoteclient.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | Make usage of authorization fallback optionalSlobodan Vrkacevic2016-05-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Asking users to use the authorization fallback in case of authorization errors might be a bit problematic in some cases. If the users are not familiar with the concept, running: "<installer_exe> --startserver PRODUCTION,{GUID},{GUID}" from command line might be confusing or difficult. Also it might not help at all. So let's make this optional. If the config variable DisableAuthorizationFallback is set to true the installer will not ask users to run the authorization fallback but instead it will abort the installation immediately. In RemoteClient this is implemented by adding a new function called setAuthorizationFallbackDisabled. The init function could be also extend for this but the config settings are not loaded at the time when the function is called. Change-Id: I4baf1dea34c5cc0016e98df47a9492ee1418c5ee Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Iikka Eklund2016-01-201-4/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: installerfw.pri 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 sync.profile Change-Id: Ifdc8b065f89b7e241bd3788ed79768e21888161f
| * 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>
* | Fixed occasional crash on Windows when terminating installerFrerich Raabe2015-12-081-2/+11
|/ | | | | | | | | | | | | | | | | | | | The static RemoteClient object (defined in RemoteClient::instance()) which gets destroyed at the very end of the process lifetime would -- as part of its constructor -- execute the RemoteClientPrivate destructor. The RemoteClientPrivate destructor did non-trivial work though, trying to shut down the connection which involves accessing the LocalServer instance. Executing this code at the very end of the process lifetime would sometimes cause a crash on Windows with a back trace into the QMutex guts. Let's fix this by getting more control over the destruction order; the RemoteClient instance is no longer a static object but allocated dynamically. Callers can explicitly call 'destroy' to dispose of the instance as part of their shutdown routine. Change-Id: Ie6773ccc0276ad6285919e57e9ed190bab02be3f Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Fix failing autotestsKai Koehne2015-03-061-1/+1
| | | | | | | | | | | | Commit 603d9bb1f49c58f2 deleted RemoteClientPrivate when the engine is shut down, but the autotests expect to re-use the singleton in the same process afterwards. Fix this by creating a new - clean - RemoteClientPrivate instance instead on shutdown. Change-Id: Iafa701f44c654db2d7e7d838ea7a27e978eb1913 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Make sure RemoteClient's localsocket is freed early enough on shutdownKai Koehne2015-03-051-0/+1
| | | | | Change-Id: Idb0afb201f4759696988566f08baeb156c3bb7be Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
* Use local sockets for client-server communicationKai Koehne2015-02-201-11/+5
| | | | | | 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>
* Remove occurrences of QHostAddress.kh2014-12-021-1/+1
| | | | | | | | | 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-32/+0
| | | | | | | | | | 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-33/+23
| | | | | | | | | | | | | | | | | 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>
* Implement a way to start the server in debug mode and API cleanup.kh2014-11-261-34/+9
| | | | | | | | | | | | 1; Passing debug as first argument to the starting server does not start the server side so the server keeps running in an endless loop. This makes it far easier to attach a debugger. 2; API cleanup and unify init function to take port, key, and mode. The address was never able to be changed anyway, so stop passing them around. Change-Id: I2a847f009ed1557a5e136e2b0006de5c62426da2 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
* Fix crash experienced while closing the application.kh2014-11-241-0/+18
| | | | | | | | | | | | Signal the keep alive object that we are going to shutdown. This needs to be done because the parent object is a global static and the order of destruction is unknown. The revised code of KeepAliveObject::start() method fixes one of several warnings ("QSocketNotifier: socket notifiers cannot be {enabled/disabled} from another thread"). Change-Id: I68e2d507e697a5d94bdc73f016601affc9913846 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>
* Initialize both client and server with default values.kh12014-06-231-10/+6
| | | | | Change-Id: I51934b0de77b1062153f5f60be44d4bcf4be5ee5 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Initialize the client as early as possible.kh12014-06-041-2/+9
| | | | | | | | | | Due do the fact that we can have several threads call to RemoteClient::instance() at the same time, some objects might get a not fully initialized object back. Most notable members of private class where initialized differently or not at all. Change-Id: I80fc4ad59583e3784c0e9f002e23d3df91f127b2 Reviewed-by: Christian Stenger <christian.stenger@digia.com>
* We need to pass the socket to the connect function.kh12014-06-031-7/+6
| | | | | | | | | | 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/+160
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>