summaryrefslogtreecommitdiff
path: root/src/libs/ssh/sshcryptofacility.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SSH: Use OpenSSH toolsChristian Kandeler2018-12-131-453/+0
| | | | | | | | | | | | | | | | | | | | | | | | ... instead of our own SSH library. Advantages: - Full compatibility with OpenSSH behavior guaranteed. - Minimal maintenance effort. - Less code to build. - Big chunk of 3rd party sources can be removed from our repository. One the downside, Windows users now need to install OpenSSH for RemoteLinux support. Hoewever, people doing embedded development probably have it installed anyway. [ChangeLog] Switched SSH backend to OpenSSH Fixes: QTCREATORBUG-15744 Fixes: QTCREATORBUG-15807 Fixes: QTCREATORBUG-19306 Fixes: QTCREATORBUG-20210 Change-Id: Ifcfefdd39401e45ba1f4aca35d2c5bf7046c7aab Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* SSH: Add support for "new" OpenSSH private key formatChristian Kandeler2018-11-221-1/+9
| | | | | | | | This format has been around for a while, but with release 7.8 has become the default for all keys generated by ssh-keygen. Change-Id: I0d8f666996832de49aad4f6bd246a5ed820df6cd Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* SSH: Fix decryption in CBC modeChristian Kandeler2018-10-261-1/+1
| | | | | | | | | | Two function call arguments got switched around. Their types, while looking different, were in fact just aliases for the same underlying type, so this was not detected by the compiler. Fixes: QTCREATORBUG-21387 Change-Id: I631d37634501759e37bfc594656f569c4ff1aa72 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* SSH: Use Botan2Christian Kandeler2018-08-101-19/+25
| | | | | | | | | | | | | | | | Botan 1.10 will be completely unsupported by the end of this year, so we now target API version 2 instead. Also upgrade our bundled Botan to the latest version 2.7. We no longer check in pre-processed files, but use the upstream sources directly (with unneeded parts removed), employing Botan's own configure script for building. This will make future upgrades much simpler. A script to automate this process is also provided. Task-number: QTCREATORBUG-18802 Task-number: QTCREATORBUG-8107 Change-Id: I5a5ea62cfd30d720b556217142e8b7e06bf49f7e Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* SSH: Catch std::exception rather than Botan-specific onesChristian Kandeler2017-05-051-8/+2
| | | | | | | | | | In particular, the existence of Botan::Exception wrongly suggests that it is the parent class of all Botan-specific exceptions. This assumption, combined with a different bug that will be fixed in a follow-up commit, caused a crash in the key generator. Change-Id: I0aafb761052d185051df217c9914010235a7c77b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Fix compiler warnings on windows.David Schulz2016-04-221-6/+9
| | | | | | | | | | | Ignore some warnings inside 3rd party code and fix a lot of conversion warnings. Change-Id: I909f2f31a4639015bf7dd028d2d435ff1d1167bc Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update remaining files in src Change-Id: I1896f17fcf34f71c3310c87899fb5171b8e4afb1 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* SSH: Use categorized logging.Christian Kandeler2016-01-181-11/+7
| | | | | | Change-Id: I9890c7d4a86320c835e70e66c523c5a2f7b41421 Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* SSH: Support creation of ECDSA keys.Christian Kandeler2015-07-271-5/+9
| | | | | | Change-Id: Id5b5ed289a3fd86bd8b84e6429c18f417ca793a7 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* SSH: Don't assume an exact width of ECDSA keys.Christian Kandeler2015-07-271-15/+1
| | | | | | | The number specified in the algorithm name is a maximum. Change-Id: I70177a135be29adbf9b58d0dd3b9de339f0d3b7e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* SSH: Support ECDSA user keys.Christian Kandeler2015-07-211-5/+52
| | | | | | | In the default format of ssh-keygen. Change-Id: Ibea5f4bde5cc6ea343f75c73f786437178e4350e Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
* Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'Eike Ziller2015-02-121-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/utils/tooltip/tipcontents.cpp src/libs/utils/tooltip/tipcontents.h src/plugins/android/androiddeployqtstep.cpp src/plugins/baremetal/baremetalconstants.h src/plugins/baremetal/baremetaldevice.cpp src/plugins/baremetal/baremetaldevice.h src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp src/plugins/baremetal/baremetaldeviceconfigurationwidget.h src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h src/plugins/baremetal/baremetalplugin.cpp src/plugins/baremetal/baremetalplugin.h src/plugins/baremetal/baremetalruncontrolfactory.cpp src/plugins/baremetal/baremetalruncontrolfactory.h src/plugins/cppeditor/cppcodemodelinspectordialog.cpp src/plugins/cppeditor/cppdoxygen_test.cpp src/plugins/cppeditor/cppdoxygen_test.h src/plugins/debugger/breakpointmarker.cpp src/plugins/debugger/debuggeritemmodel.cpp src/plugins/debugger/debuggeritemmodel.h src/plugins/debugger/loadcoredialog.cpp src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp src/plugins/projectexplorer/addnewmodel.cpp src/plugins/projectexplorer/addnewmodel.h src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp src/plugins/qmlprofiler/abstracttimelinemodel.cpp src/plugins/qmlprofiler/abstracttimelinemodel.h src/plugins/qmlprofiler/notesmodel.cpp src/plugins/qmlprofiler/qml/CategoryLabel.qml src/plugins/qmlprofiler/qml/MainView.qml src/plugins/qmlprofiler/qml/Overview.js src/plugins/qmlprofiler/qml/Overview.qml src/plugins/qmlprofiler/qml/TimeDisplay.qml src/plugins/qmlprofiler/qml/TimeMarks.qml src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp src/plugins/qmlprofiler/sortedtimelinemodel.cpp src/plugins/qmlprofiler/sortedtimelinemodel.h src/plugins/qmlprofiler/timelinemodelaggregator.cpp src/plugins/qmlprofiler/timelinemodelaggregator.h src/plugins/qmlprofiler/timelinerenderer.cpp src/plugins/qmlprofiler/timelinerenderer.h src/plugins/qmlprojectmanager/QmlProjectManager.json.in src/plugins/texteditor/findinfiles.cpp src/plugins/vcsbase/vcsconfigurationpage.cpp src/shared/qbs src/shared/scriptwrapper/interface_wrap_helpers.h src/shared/scriptwrapper/wrap_helpers.h tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp tests/system/suite_debugger/tst_debug_empty_main/test.py tests/system/suite_debugger/tst_qml_js_console/test.py tests/system/suite_debugger/tst_qml_locals/test.py Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
| * Update LicenseEike Ziller2015-01-161-6/+6
| | | | | | | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Misc: Remove unneeded qualificationsOrgad Shaneh2015-02-061-4/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly done using the following ruby script: Dir.glob('**/*.cpp').each { |file| next if file =~ %r{src/shared/qbs|/qmljs/} s = File.read(file) s.scan(/^using namespace (.*);$/) { ns = $1 t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m| before = $1 char = $2 if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/ m else before + char end } if t != s puts file File.open(file, 'w').write(t) end } } Change-Id: I919da493d0629b719d328e5e71c96a29d230dfd1 Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: hjk <hjk@theqtcompany.com>
* SSH: Add support for the recommended cipher modes from RFC 4344.Christian Kandeler2014-11-061-11/+41
| | | | | | | | | | New OpenSSH versions do not support the (required) CBC modes out of the box anymore, so let's add some CTR ones. Task-number: QTCREATORBUG-13340 Change-Id: Ia3e38be3aab95be258e64396283736d246c8b93b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
* License updateEike Ziller2014-10-091-7/+8
| | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Fix gcc warnings about unused variables.Christian Kandeler2013-03-251-1/+4
| | | | | | | These appear when compiling in release mode. Change-Id: I76ee3b1b8d728fd839d713ee4f914b6965851b99 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge remote-tracking branch 'origin/2.6'Oswald Buddenhagen2013-01-311-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in src/plugins/debugger/qtmessageloghandler.cpp src/plugins/debugger/qtmessagelogwindow.cpp src/plugins/madde/maemodeployconfigurationwidget.cpp src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp src/plugins/qmldesigner/designercore/include/widgetqueryview.h src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp src/plugins/qnx/bardescriptormagicmatcher.h src/plugins/qt4projectmanager/profilekeywords.cpp src/plugins/remotelinux/deployablefilesperprofile.cpp src/plugins/remotelinux/deployablefilesperprofile.h src/plugins/remotelinux/deploymentinfo.cpp src/plugins/remotelinux/deploymentsettingsassistant.cpp src/plugins/remotelinux/profilesupdatedialog.cpp tests/auto/icheckbuild/ichecklib.cpp tests/auto/icheckbuild/parsemanager.cpp tests/auto/icheckbuild/parsemanager.h Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
| * Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | | | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | Revert "SSH: Work around issue with dynamic_cast."Christian Kandeler2013-01-081-6/+9
|/ | | | | | | | | This reverts commit 6f7ce3f48e2ac4ebe5e04492b11d3a70bed37fb2. The workaround turned out to be incomplete and has therefore been superseded. Change-Id: Ic60cd810f72ca833c1725024d2816baf5ce47372 Reviewed-by: hjk <qthjk@ovi.com>
* Adjust license headershjk2012-10-051-21/+20
| | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* SSH: Work around issue with dynamic_cast.Christian Kandeler2012-10-051-9/+6
| | | | | | | | | | | | | | | | | | It has been observed that on MacOs, a dynamic_cast from Botan::Public_Key to Botan::RSA_PublicKey reproducibly fails even though it should definitely succeed. This happens with both gcc and clang on different Macs, but on no other platform. The problem could not be reproduced with an example project. The workaround is to move the allocation of the respective object from the client side to the Botan library itself. In addition, the following actions were taken to guard against similar problems in the future: - Also move to Botan the allocations of all other objects that are potentially dynamically cast. - Use shared pointers for these objects, so the deallocation also happens inside Botan. Change-Id: Ie595a56a239a41e2629b6ff631de59910b8244dd Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Update botan library.Christian Kandeler2012-06-261-22/+18
| | | | | | | | | | | | Old version was 1.8.8, new one is 1.10.2. We now put all the code into one pair of files (via a botan configure option) and move platform-specific defines into the pro/qbs files. Besides drastically reducing the number of files, this is expected to make future updates less messy. Change-Id: I004166b2ab15b6a699d69aebfcfd9999c5ccdb91 Reviewed-by: hjk <qthjk@ovi.com>
* Move SSH support into a dedicated library.Christian Kandeler2012-05-221-0/+387
It does not belong into libUtils, which is a collection of small unrelated utility classes. Task-number: QTCREATORBUG-7218 Change-Id: Id92b9f28678afec93e6f07166adfde6550f38072 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>