The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Second step towards streamlining the IDevice::ctor/create lines
of functions.
Change-Id: I8b0f2270a9f6545ff9419ef8cf44b456c2233223
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
First step towards streamlining the IDevice::ctor/create lines
of functions.
Change-Id: I44226f8a05902cadd40c8820ab67752070d186c0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
We add a new wizard page for deploying a public key. This way,
the user has to enter the password only once during initial device
setup, just as it used to be before we switched the SSH backend.
Change-Id: Ic30e830a839033e7e7664c2713d3b74b5472e969
Reviewed-by: hjk <hjk@qt.io>
... 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>
Combine host, port, username and password into a 'url' member and
add some convenience accessors.
Change-Id: Iddc26ff00dad1285c96aa56f196dbc4febe8e974
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
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: Id48e46fdfed83b82071551f4375fab3310ed1f6e
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
QTBUG-28385 is biting us over and over (QWizard doesn't have close
button nor cancel button on Mac in Qt 5), and actually there's no reason
for us having a wizard without the features from Utils::Wizard.
Task-number: QTCREATORBUG-10346
Task-number: QTBUG-28385
Change-Id: I80c0d82fe6738496c2ac03c31a1c2757ade8e266
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This entails the following:
- Rename AbstractLinuxDeviceTester to DeviceTester and
move it up into ProjectExplorer. The class stays
unchanged, as there was nothing Linux-specific about it.
The same goes for the associated dialog.
- Move the createDeviceTester() function from LinuxDevice
to IDevice and introduce IDevice::hasDeviceTester() to
enable generic code to make use of this feature.
- Move device testing out of the list of opaque
device-specific actions; instead, the device settings widget
now uses the device tester directly, if applicable.
Rationale:
- Device testing, just like remote process listing (if not more so),
is a general concept that implementors of device classes will
probably want to implement (and they should be encouraged to do so).
Without the mechanism provided here, they would all need to put
basically the same code into the actionIds(), displayNameForActionId()
and executeAction() functions.
This patch is the natural extension of b90e3bbd8b.
Change-Id: I94f2badb4ceeda9f5cd3b066c13626bb4f65505d
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
There is now at least one Linux distribution (openSUSE 12.3) that
disables the "password" authentication method in its default
sshd_config, while others allow it, but disable "keyboard-interactive".
This patch tackles the problem as follows:
1) Implement RFC 4256 ("keyboard-interactive") and make this method
available in the API.
2) In addition, the API offers to try both password-based methods
one after the other, until one has succeeded or all have failed.
3) Dialogs continue to offer just the choice between "Password" and
"Key", as to not confuse users. Internally, "Password" uses the feature
described in 2).
Task-number: QTCREATORBUG-9568
Change-Id: Ic81bd5d2dc4b1332ea1a8be938c19811c21a9087
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
While we want to conform to the specs, there are systems out there today
whose SSH servers send non-conforming identifications strings. We now
enable API clients to switch the respecive checks off, and we do so
ourselves in the RemoteLinux plugin, since the only known problems
are with OpenSSH servers.
Change-Id: I9e6f9076f2dc7435a0bde7016f99cfb2fcb30a9c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Do not open the dialog with the wizard as parent after
QWizard::exec() has finished.
Task-number: QTBUG-27039
Change-Id: I51d5d9fa07adca0570c2b91b50f84e143e592309
Reviewed-by: hjk <qthjk@ovi.com>
More Profile use, less dependency on QtSupport,
Derive qtVersionId from profile instead of qt build configuration.
Replace qt4BuildConfiguration with buildConfiguration.
Use IDevice base class in AbstractRemoteLinuxApplicationRunner
and in other places. Simplify remote linux runconfiguration
Change-Id: I6414d3d8146d16c360b3a0465c57a052ea71f899
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
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>
Add a create method to the IDeviceFactory and make it replace the
createWizard method. The create method may or may not pop up a wizard.
Remove IDeviceWizard as suggested by Christian.
This patch also adds a canCreate() method to check whether a factory should
be asked to create something or not.
Change-Id: Iaf16aa407530022e8f3804093b58dc3f120f7599
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
The idea is that all kinds of devices inherit from one abstract
base class and that they are all managed by one device manager,
who does not know about their specifics.
For now, the only concrete subclass is the LinuxDeviceConguration.
Change-Id: I31ff5586a0fdd6bcf8dcc0554bb2b91fe65b2f3f
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
- Introduce clone() method.
- Rename "osType" to "type" and "deviceType" to "machineType".
- Move machine type display out of generic settings widget.
- Put only immutable attributes into the device constructor and set the
others via setters. As part of this, also give the
SshConnectionParameters a default proxy type. The necessity to give one
to the constructor explicitly was for historical reasons.
Change-Id: I84757b1b2d6371544b9ab1f3290973e5498176ce
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This reverts commit 934c067ddf365c6f12b1e4a1e431f27610b32f7d,
because it breaks running remote Linux applications due to
buggy refactoring of the remote ports gatherer.
Change-Id: I15fd8d4f3e76452a8c5c735316991bd00900444f
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
Allow for a set of tests to be defined. This simplifies the code for
the individual test to run and allows for a more flexible approach
to device testing.
MaddeDeviceTester is no longer needed due to that.
Change-Id: I77fd2d53246dec2d8c6b584d0c73cc1134d7f47d
Reviewed-by: Christian Kandeler <christian.kandeler@nokia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
- Make key deployment a device type dependent action.
- Split up monolithic device configuration wizard.
- Split up run configurations, run controls and the associated
factories.
Change-Id: Ib2ef9d405e6b7eaae89fc27c56e3c327829a88f7
Reviewed-on: http://codereview.qt.nokia.com/486
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>