From 65eb1d551592421f5e0e961c8c1dd2d056023697 Mon Sep 17 00:00:00 2001
From: ck <qt-info@nokia.com>
Date: Mon, 12 Jul 2010 09:33:22 +0200
Subject: [PATCH] Replace SSH library.

---
 src/libs/3rdparty/3rdparty.pro                |    3 +-
 src/libs/3rdparty/net7ssh/AUTHORS             |    2 -
 src/libs/3rdparty/net7ssh/CHANGELOG           |  126 --
 src/libs/3rdparty/net7ssh/CMakeLists.txt      |   74 -
 src/libs/3rdparty/net7ssh/COPYING             |  103 --
 src/libs/3rdparty/net7ssh/INSTALL             |   26 -
 src/libs/3rdparty/net7ssh/LICENSE.QPL         |  103 --
 src/libs/3rdparty/net7ssh/README              |  614 -------
 .../3rdparty/net7ssh/doc/html/annotated.html  |   52 -
 .../html/classNe7SftpSubsystem-members.html   |   62 -
 .../doc/html/classNe7SftpSubsystem.html       |  879 ----------
 .../classNe7SftpSubsystem__coll__graph.map    |    8 -
 .../classNe7SftpSubsystem__coll__graph.md5    |    1 -
 .../doc/html/classNe7sshError-members.html    |   47 -
 .../net7ssh/doc/html/classNe7sshError.html    |  375 ----
 .../html/classNe7sshError__coll__graph.map    |    1 -
 .../html/classNe7sshError__coll__graph.md5    |    1 -
 .../doc/html/classNe7sshSftp-members.html     |  110 --
 .../net7ssh/doc/html/classNe7sshSftp.html     | 1516 -----------------
 .../html/classNe7sshSftpPacket-members.html   |   67 -
 .../doc/html/classNe7sshSftpPacket.html       |  302 ----
 .../classNe7sshSftpPacket__coll__graph.map    |    1 -
 .../classNe7sshSftpPacket__coll__graph.md5    |    1 -
 .../classNe7sshSftpPacket__inherit__graph.map |    1 -
 .../classNe7sshSftpPacket__inherit__graph.md5 |    1 -
 .../doc/html/classNe7sshSftp__coll__graph.map |    7 -
 .../doc/html/classNe7sshSftp__coll__graph.md5 |    1 -
 .../html/classNe7sshSftp__inherit__graph.map  |    1 -
 .../html/classNe7sshSftp__inherit__graph.md5  |    1 -
 .../3rdparty/net7ssh/doc/html/classes.html    |   40 -
 .../net7ssh/doc/html/classne7ssh-members.html |   74 -
 .../net7ssh/doc/html/classne7ssh.html         |  906 ----------
 .../html/classne7ssh__channel-members.html    |   72 -
 .../doc/html/classne7ssh__channel.html        |  882 ----------
 .../classne7ssh__channel__coll__graph.map     |    4 -
 .../classne7ssh__channel__coll__graph.md5     |    1 -
 .../classne7ssh__channel__inherit__graph.map  |    1 -
 .../classne7ssh__channel__inherit__graph.md5  |    1 -
 .../doc/html/classne7ssh__coll__graph.map     |   12 -
 .../doc/html/classne7ssh__coll__graph.md5     |    1 -
 .../html/classne7ssh__connection-members.html |   71 -
 .../doc/html/classne7ssh__connection.html     |  900 ----------
 .../classne7ssh__connection__coll__graph.map  |    8 -
 .../classne7ssh__connection__coll__graph.md5  |    1 -
 .../doc/html/classne7ssh__crypt-members.html  |  112 --
 .../net7ssh/doc/html/classne7ssh__crypt.html  | 1362 ---------------
 .../html/classne7ssh__crypt__coll__graph.map  |    2 -
 .../html/classne7ssh__crypt__coll__graph.md5  |    1 -
 .../doc/html/classne7ssh__kex-members.html    |   51 -
 .../net7ssh/doc/html/classne7ssh__kex.html    |  319 ----
 .../html/classne7ssh__kex__coll__graph.map    |    4 -
 .../html/classne7ssh__kex__coll__graph.md5    |    1 -
 .../doc/html/classne7ssh__keys-members.html   |   53 -
 .../net7ssh/doc/html/classne7ssh__keys.html   |  526 ------
 .../html/classne7ssh__keys__coll__graph.map   |    1 -
 .../html/classne7ssh__keys__coll__graph.md5   |    1 -
 .../html/classne7ssh__session-members.html    |   58 -
 .../doc/html/classne7ssh__session.html        |  494 ------
 .../classne7ssh__session__coll__graph.map     |    2 -
 .../classne7ssh__session__coll__graph.md5     |    1 -
 .../doc/html/classne7ssh__string-members.html |   61 -
 .../net7ssh/doc/html/classne7ssh__string.html |  766 ---------
 .../classne7ssh__string__inherit__graph.map   |    1 -
 .../classne7ssh__string__inherit__graph.md5   |    1 -
 .../html/classne7ssh__transport-members.html  |   50 -
 .../doc/html/classne7ssh__transport.html      |  466 -----
 .../classne7ssh__transport__coll__graph.map   |    2 -
 .../classne7ssh__transport__coll__graph.md5   |    1 -
 .../net7ssh/doc/html/crypt_8h_source.html     |  192 ---
 .../dir_0149abaf0c2b822b0c584e3b6dde2eae.html |   42 -
 ...r_0149abaf0c2b822b0c584e3b6dde2eae_dep.map |    3 -
 .../dir_dd1c5291a9065b7545d10d656e7badb5.html |   42 -
 ...r_dd1c5291a9065b7545d10d656e7badb5_dep.map |    2 -
 .../dir_f38c3faaed4ee86c894d75645400fcb5.html |   94 -
 ...r_f38c3faaed4ee86c894d75645400fcb5_dep.map |    2 -
 src/libs/3rdparty/net7ssh/doc/html/dirs.html  |   34 -
 .../3rdparty/net7ssh/doc/html/doxygen.css     |  441 -----
 src/libs/3rdparty/net7ssh/doc/html/files.html |   46 -
 .../3rdparty/net7ssh/doc/html/functions.html  |   97 --
 .../net7ssh/doc/html/functions_0x62.html      |   69 -
 .../net7ssh/doc/html/functions_0x63.html      |  107 --
 .../net7ssh/doc/html/functions_0x64.html      |   80 -
 .../net7ssh/doc/html/functions_0x65.html      |   79 -
 .../net7ssh/doc/html/functions_0x67.html      |  180 --
 .../net7ssh/doc/html/functions_0x68.html      |   99 --
 .../net7ssh/doc/html/functions_0x69.html      |   99 --
 .../net7ssh/doc/html/functions_0x6c.html      |   75 -
 .../net7ssh/doc/html/functions_0x6d.html      |   79 -
 .../net7ssh/doc/html/functions_0x6e.html      |  113 --
 .../net7ssh/doc/html/functions_0x6f.html      |   75 -
 .../net7ssh/doc/html/functions_0x70.html      |   76 -
 .../net7ssh/doc/html/functions_0x72.html      |   93 -
 .../net7ssh/doc/html/functions_0x73.html      |  123 --
 .../net7ssh/doc/html/functions_0x75.html      |   70 -
 .../net7ssh/doc/html/functions_0x76.html      |   74 -
 .../net7ssh/doc/html/functions_0x77.html      |   80 -
 .../net7ssh/doc/html/functions_0x7e.html      |   93 -
 .../net7ssh/doc/html/functions_enum.html      |   46 -
 .../net7ssh/doc/html/functions_func.html      |   97 --
 .../net7ssh/doc/html/functions_func_0x62.html |   69 -
 .../net7ssh/doc/html/functions_func_0x63.html |  103 --
 .../net7ssh/doc/html/functions_func_0x64.html |   80 -
 .../net7ssh/doc/html/functions_func_0x65.html |   77 -
 .../net7ssh/doc/html/functions_func_0x67.html |  180 --
 .../net7ssh/doc/html/functions_func_0x68.html |   99 --
 .../net7ssh/doc/html/functions_func_0x69.html |   99 --
 .../net7ssh/doc/html/functions_func_0x6c.html |   75 -
 .../net7ssh/doc/html/functions_func_0x6d.html |   79 -
 .../net7ssh/doc/html/functions_func_0x6e.html |  113 --
 .../net7ssh/doc/html/functions_func_0x6f.html |   75 -
 .../net7ssh/doc/html/functions_func_0x70.html |   76 -
 .../net7ssh/doc/html/functions_func_0x72.html |   93 -
 .../net7ssh/doc/html/functions_func_0x73.html |  123 --
 .../net7ssh/doc/html/functions_func_0x75.html |   70 -
 .../net7ssh/doc/html/functions_func_0x76.html |   74 -
 .../net7ssh/doc/html/functions_func_0x77.html |   78 -
 .../net7ssh/doc/html/functions_func_0x7e.html |   93 -
 .../net7ssh/doc/html/functions_vars.html      |   50 -
 .../net7ssh/doc/html/graph_legend.dot         |   22 -
 .../net7ssh/doc/html/graph_legend.html        |   87 -
 .../3rdparty/net7ssh/doc/html/hierarchy.html  |   58 -
 src/libs/3rdparty/net7ssh/doc/html/index.html |   27 -
 .../net7ssh/doc/html/inherit__graph__0.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__0.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__1.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__1.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__10.map   |    2 -
 .../net7ssh/doc/html/inherit__graph__10.md5   |    1 -
 .../net7ssh/doc/html/inherit__graph__11.map   |    1 -
 .../net7ssh/doc/html/inherit__graph__11.md5   |    1 -
 .../net7ssh/doc/html/inherit__graph__12.map   |    1 -
 .../net7ssh/doc/html/inherit__graph__12.md5   |    1 -
 .../net7ssh/doc/html/inherit__graph__13.map   |    1 -
 .../net7ssh/doc/html/inherit__graph__13.md5   |    1 -
 .../net7ssh/doc/html/inherit__graph__14.map   |    1 -
 .../net7ssh/doc/html/inherit__graph__14.md5   |    1 -
 .../net7ssh/doc/html/inherit__graph__15.map   |    1 -
 .../net7ssh/doc/html/inherit__graph__15.md5   |    1 -
 .../net7ssh/doc/html/inherit__graph__2.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__2.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__3.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__3.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__4.map    |    2 -
 .../net7ssh/doc/html/inherit__graph__4.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__5.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__5.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__6.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__6.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__7.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__7.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__8.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__8.md5    |    1 -
 .../net7ssh/doc/html/inherit__graph__9.map    |    1 -
 .../net7ssh/doc/html/inherit__graph__9.md5    |    1 -
 .../3rdparty/net7ssh/doc/html/inherits.html   |   84 -
 .../net7ssh/doc/html/namespaceBotan.html      |   36 -
 .../3rdparty/net7ssh/doc/html/namespaces.html |   33 -
 .../net7ssh/doc/html/ne7ssh_8h_source.html    |  277 ---
 .../doc/html/ne7ssh__channel_8h_source.html   |  133 --
 .../html/ne7ssh__connection_8h_source.html    |  135 --
 .../doc/html/ne7ssh__error_8h_source.html     |   96 --
 .../doc/html/ne7ssh__kex_8h_source.html       |   91 -
 .../doc/html/ne7ssh__keys_8h_source.html      |  104 --
 .../doc/html/ne7ssh__mutex_8h_source.html     |   77 -
 .../doc/html/ne7ssh__session_8h_source.html   |  106 --
 .../doc/html/ne7ssh__sftp_8h_source.html      |  251 ---
 .../html/ne7ssh__sftp__packet_8h_source.html  |   80 -
 .../doc/html/ne7ssh__string_8h_source.html    |  116 --
 .../doc/html/ne7ssh__transport_8h_source.html |  104 --
 .../doc/html/ne7ssh__types_8h_source.html     |  127 --
 ...Ne7SftpSubsystem_1_1fileAttrs-members.html |   39 -
 .../structNe7SftpSubsystem_1_1fileAttrs.html  |   63 -
 .../structNe7sshError_1_1Error-members.html   |   35 -
 .../doc/html/structNe7sshError_1_1Error.html  |   49 -
 .../structNe7sshSftp_1_1sftpFile-members.html |   36 -
 .../html/structNe7sshSftp_1_1sftpFile.html    |   52 -
 ...ctNe7sshSftp_1_1sftpFileAttrs-members.html |   40 -
 .../structNe7sshSftp_1_1sftpFileAttrs.html    |   64 -
 .../doc/html/structconnStruct-members.html    |   35 -
 .../net7ssh/doc/html/structconnStruct.html    |   89 -
 .../html/structconnStruct__coll__graph.map    |    9 -
 .../html/structconnStruct__coll__graph.md5    |    1 -
 src/libs/3rdparty/net7ssh/doc/html/tabs.css   |  105 --
 .../net7ssh/examples/generateKeys.cpp         |   28 -
 .../3rdparty/net7ssh/examples/getFile.cpp     |   70 -
 .../3rdparty/net7ssh/examples/keyAuth.cpp     |   92 -
 .../net7ssh/examples/multipleThreads.cpp      |  345 ----
 .../net7ssh/examples/passwordAuth.cpp         |  128 --
 .../3rdparty/net7ssh/examples/sftpExample.cpp |  141 --
 src/libs/3rdparty/net7ssh/net7ssh.pri         |    3 -
 src/libs/3rdparty/net7ssh/net7ssh.pro         |    4 -
 .../3rdparty/net7ssh/net7ssh_dependencies.pri |    1 -
 src/libs/3rdparty/net7ssh/src/crypt.cpp       |  786 ---------
 src/libs/3rdparty/net7ssh/src/crypt.h         |  357 ----
 src/libs/3rdparty/net7ssh/src/ne7ssh.cpp      |  983 -----------
 src/libs/3rdparty/net7ssh/src/ne7ssh.h        |  521 ------
 .../3rdparty/net7ssh/src/ne7ssh_channel.cpp   |  456 -----
 .../3rdparty/net7ssh/src/ne7ssh_channel.h     |  228 ---
 .../net7ssh/src/ne7ssh_connection.cpp         |  350 ----
 .../3rdparty/net7ssh/src/ne7ssh_connection.h  |  238 ---
 .../3rdparty/net7ssh/src/ne7ssh_error.cpp     |  274 ---
 src/libs/3rdparty/net7ssh/src/ne7ssh_error.h  |  113 --
 src/libs/3rdparty/net7ssh/src/ne7ssh_kex.cpp  |  317 ----
 src/libs/3rdparty/net7ssh/src/ne7ssh_kex.h    |   99 --
 src/libs/3rdparty/net7ssh/src/ne7ssh_keys.cpp |  573 -------
 src/libs/3rdparty/net7ssh/src/ne7ssh_keys.h   |  143 --
 .../3rdparty/net7ssh/src/ne7ssh_mutex.cpp     |   67 -
 src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.h  |   45 -
 .../3rdparty/net7ssh/src/ne7ssh_session.cpp   |   27 -
 .../3rdparty/net7ssh/src/ne7ssh_session.h     |  139 --
 src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.cpp | 1366 ---------------
 src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.h   |  438 -----
 .../net7ssh/src/ne7ssh_sftp_packet.cpp        |  125 --
 .../3rdparty/net7ssh/src/ne7ssh_sftp_packet.h |   88 -
 .../3rdparty/net7ssh/src/ne7ssh_string.cpp    |  229 ---
 src/libs/3rdparty/net7ssh/src/ne7ssh_string.h |  196 ---
 .../3rdparty/net7ssh/src/ne7ssh_transport.cpp |  438 -----
 .../3rdparty/net7ssh/src/ne7ssh_transport.h   |  136 --
 src/libs/3rdparty/net7ssh/src/ne7ssh_types.h  |   95 --
 src/libs/3rdparty/net7ssh/src/src.pro         |   54 -
 src/plugins/coreplugin/coreplugin.cpp         |    3 -
 src/plugins/coreplugin/coreplugin.pro         |   52 +-
 .../coreplugin/coreplugin_dependencies.pri    |    2 +-
 src/plugins/coreplugin/ssh/ne7sshobject.cpp   |   81 -
 src/plugins/coreplugin/ssh/ne7sshobject.h     |   80 -
 src/plugins/coreplugin/ssh/sftpchannel.cpp    |  756 ++++++++
 src/plugins/coreplugin/ssh/sftpchannel.h      |  120 ++
 src/plugins/coreplugin/ssh/sftpchannel_p.h    |  130 ++
 src/plugins/coreplugin/ssh/sftpdefs.cpp       |   32 +
 src/plugins/coreplugin/ssh/sftpdefs.h         |   48 +
 .../coreplugin/ssh/sftpincomingpacket.cpp     |  230 +++
 .../coreplugin/ssh/sftpincomingpacket_p.h     |  111 ++
 src/plugins/coreplugin/ssh/sftpoperation.cpp  |  176 ++
 src/plugins/coreplugin/ssh/sftpoperation_p.h  |  193 +++
 .../coreplugin/ssh/sftpoutgoingpacket.cpp     |  202 +++
 .../coreplugin/ssh/sftpoutgoingpacket_p.h     |   83 +
 src/plugins/coreplugin/ssh/sftppacket.cpp     |   54 +
 src/plugins/coreplugin/ssh/sftppacket_p.h     |  108 ++
 .../coreplugin/ssh/sshbotanconversions_p.h    |   97 ++
 .../coreplugin/ssh/sshcapabilities.cpp        |  103 ++
 .../coreplugin/ssh/sshcapabilities_p.h        |   72 +
 src/plugins/coreplugin/ssh/sshchannel.cpp     |  244 +++
 src/plugins/coreplugin/ssh/sshchannel_p.h     |  111 ++
 .../coreplugin/ssh/sshchannelmanager.cpp      |  188 ++
 .../coreplugin/ssh/sshchannelmanager_p.h      |   89 +
 src/plugins/coreplugin/ssh/sshconnection.cpp  |  768 +++++----
 src/plugins/coreplugin/ssh/sshconnection.h    |  145 +-
 src/plugins/coreplugin/ssh/sshconnection_p.h  |  157 ++
 .../coreplugin/ssh/sshcryptofacility.cpp      |  369 ++++
 .../coreplugin/ssh/sshcryptofacility_p.h      |  154 ++
 .../coreplugin/ssh/sshdelayedsignal.cpp       |  165 ++
 .../coreplugin/ssh/sshdelayedsignal_p.h       |  190 +++
 src/plugins/coreplugin/ssh/ssherrors.h        |   43 +
 src/plugins/coreplugin/ssh/sshexception_p.h   |   89 +
 .../coreplugin/ssh/sshincomingpacket.cpp      |  442 +++++
 .../coreplugin/ssh/sshincomingpacket_p.h      |  186 ++
 src/plugins/coreplugin/ssh/sshkeyexchange.cpp |  197 +++
 src/plugins/coreplugin/ssh/sshkeyexchange_p.h |   87 +
 .../coreplugin/ssh/sshkeygenerator.cpp        |  155 +-
 src/plugins/coreplugin/ssh/sshkeygenerator.h  |   54 +-
 .../coreplugin/ssh/sshoutgoingpacket.cpp      |  284 +++
 .../coreplugin/ssh/sshoutgoingpacket_p.h      |   98 ++
 src/plugins/coreplugin/ssh/sshpacket.cpp      |  167 ++
 src/plugins/coreplugin/ssh/sshpacket_p.h      |  137 ++
 .../coreplugin/ssh/sshpacketparser.cpp        |  153 ++
 .../coreplugin/ssh/sshpacketparser_p.h        |   81 +
 .../coreplugin/ssh/sshremoteprocess.cpp       |  270 +++
 src/plugins/coreplugin/ssh/sshremoteprocess.h |  130 ++
 .../coreplugin/ssh/sshremoteprocess_p.h       |   96 ++
 .../coreplugin/ssh/sshsendfacility.cpp        |  191 +++
 .../coreplugin/ssh/sshsendfacility_p.h        |   90 +
 src/plugins/debugger/debuggerengine.h         |    2 +-
 src/plugins/debugger/gdb/remotegdbprocess.cpp |  250 ++-
 src/plugins/debugger/gdb/remotegdbprocess.h   |   38 +-
 .../debugger/gdb/remoteplaingdbadapter.cpp    |    4 +-
 .../qt-maemo/maemoconfigtestdialog.cpp        |  112 +-
 .../qt-maemo/maemoconfigtestdialog.h          |   18 +-
 .../qt-maemo/maemodeviceconfigurations.cpp    |    4 +-
 .../qt-maemo/maemodeviceconfigurations.h      |    2 +-
 .../qt-maemo/maemoruncontrol.cpp              |  530 +++---
 .../qt-maemo/maemoruncontrol.h                |   74 +-
 .../qt-maemo/maemosettingswidget.cpp          |   91 +-
 .../qt-maemo/maemosettingswidget.h            |   13 +-
 .../qt-maemo/maemosshconfigdialog.cpp         |   18 +-
 .../qt-maemo/maemosshthread.cpp               |  215 ---
 .../qt-maemo/maemosshthread.h                 |  132 --
 .../qt4projectmanager/qt-maemo/qt-maemo.pri   |    2 -
 tests/manual/ssh/main.cpp                     |  177 ++
 tests/manual/ssh/ssh.pro                      |   25 +
 289 files changed, 8471 insertions(+), 30191 deletions(-)
 delete mode 100644 src/libs/3rdparty/net7ssh/AUTHORS
 delete mode 100644 src/libs/3rdparty/net7ssh/CHANGELOG
 delete mode 100644 src/libs/3rdparty/net7ssh/CMakeLists.txt
 delete mode 100644 src/libs/3rdparty/net7ssh/COPYING
 delete mode 100644 src/libs/3rdparty/net7ssh/INSTALL
 delete mode 100644 src/libs/3rdparty/net7ssh/LICENSE.QPL
 delete mode 100644 src/libs/3rdparty/net7ssh/README
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/annotated.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshError-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshError.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classes.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/crypt_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae_dep.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5_dep.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5_dep.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/dirs.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/doxygen.css
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/files.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x62.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x63.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x64.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x65.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x67.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x68.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x69.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x6c.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x6d.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x6e.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x6f.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x70.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x72.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x73.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x75.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x76.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x77.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_0x7e.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_enum.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x62.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x63.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x64.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x65.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x67.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x68.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x69.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6c.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6d.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6e.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6f.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x70.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x72.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x73.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x75.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x76.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x77.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_func_0x7e.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/functions_vars.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/graph_legend.dot
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/graph_legend.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/hierarchy.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/index.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/inherits.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/namespaceBotan.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/namespaces.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__channel_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__connection_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__error_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__kex_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__keys_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__mutex_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__session_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp__packet_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__string_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__transport_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/ne7ssh__types_8h_source.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structconnStruct-members.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structconnStruct.html
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.map
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.md5
 delete mode 100644 src/libs/3rdparty/net7ssh/doc/html/tabs.css
 delete mode 100644 src/libs/3rdparty/net7ssh/examples/generateKeys.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/examples/getFile.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/examples/keyAuth.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/examples/multipleThreads.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/examples/passwordAuth.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/examples/sftpExample.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/net7ssh.pri
 delete mode 100644 src/libs/3rdparty/net7ssh/net7ssh.pro
 delete mode 100644 src/libs/3rdparty/net7ssh/net7ssh_dependencies.pri
 delete mode 100644 src/libs/3rdparty/net7ssh/src/crypt.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/crypt.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_channel.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_channel.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_connection.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_connection.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_error.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_error.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_kex.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_kex.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_keys.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_keys.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_session.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_session.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_string.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_string.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_transport.cpp
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_transport.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/ne7ssh_types.h
 delete mode 100644 src/libs/3rdparty/net7ssh/src/src.pro
 delete mode 100644 src/plugins/coreplugin/ssh/ne7sshobject.cpp
 delete mode 100644 src/plugins/coreplugin/ssh/ne7sshobject.h
 create mode 100644 src/plugins/coreplugin/ssh/sftpchannel.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sftpchannel.h
 create mode 100644 src/plugins/coreplugin/ssh/sftpchannel_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sftpdefs.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sftpdefs.h
 create mode 100644 src/plugins/coreplugin/ssh/sftpincomingpacket.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sftpincomingpacket_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sftpoperation.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sftpoperation_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sftpoutgoingpacket.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sftpoutgoingpacket_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sftppacket.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sftppacket_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshbotanconversions_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshcapabilities.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshcapabilities_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshchannel.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshchannel_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshchannelmanager.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshchannelmanager_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshconnection_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshcryptofacility.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshcryptofacility_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshdelayedsignal.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshdelayedsignal_p.h
 create mode 100644 src/plugins/coreplugin/ssh/ssherrors.h
 create mode 100644 src/plugins/coreplugin/ssh/sshexception_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshincomingpacket.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshincomingpacket_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshkeyexchange.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshkeyexchange_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshoutgoingpacket.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshoutgoingpacket_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshpacket.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshpacket_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshpacketparser.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshpacketparser_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshremoteprocess.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshremoteprocess.h
 create mode 100644 src/plugins/coreplugin/ssh/sshremoteprocess_p.h
 create mode 100644 src/plugins/coreplugin/ssh/sshsendfacility.cpp
 create mode 100644 src/plugins/coreplugin/ssh/sshsendfacility_p.h
 delete mode 100644 src/plugins/qt4projectmanager/qt-maemo/maemosshthread.cpp
 delete mode 100644 src/plugins/qt4projectmanager/qt-maemo/maemosshthread.h
 create mode 100644 tests/manual/ssh/main.cpp
 create mode 100644 tests/manual/ssh/ssh.pro

diff --git a/src/libs/3rdparty/3rdparty.pro b/src/libs/3rdparty/3rdparty.pro
index 5c2dec27d03..c7babdde2c0 100644
--- a/src/libs/3rdparty/3rdparty.pro
+++ b/src/libs/3rdparty/3rdparty.pro
@@ -1,5 +1,4 @@
 TEMPLATE = subdirs
 CONFIG  += ordered
 
-SUBDIRS += botan \
-           net7ssh
+SUBDIRS += botan
diff --git a/src/libs/3rdparty/net7ssh/AUTHORS b/src/libs/3rdparty/net7ssh/AUTHORS
deleted file mode 100644
index 18d0a6839d5..00000000000
--- a/src/libs/3rdparty/net7ssh/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Andrew Useckas <andrew@netsieben.com>
-Keef Aragon <keef@netsieben.com>
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/CHANGELOG b/src/libs/3rdparty/net7ssh/CHANGELOG
deleted file mode 100644
index 2ae5ca241a9..00000000000
--- a/src/libs/3rdparty/net7ssh/CHANGELOG
+++ /dev/null
@@ -1,126 +0,0 @@
-1.3.2
-Random Number Generator is now thread safe. Thanks to Jack Llloyd of Radnombit.
-Timeouts in waitFor() and sendCmd() now work as they are supposed to.
-Fixed include issues.
-Fixed handling of NULL packet.
-
-
-1.3.1
-Channel ID managment rewriten and ID clashes that caused multiple issues are now fixed.
-Fixed cleanup procedures after timed out login.
-Fixed cleanup procedures after remote end goes away.
-Fixed variable types for MSVS compatbility.
-Fixed thred sleep issues under Windows.
-Fixed couple of small memory leaks.
-
-
-1.3.0
-Changes made to support new stable Botan 1.8.x crypto library.
-Added macros for backward compatibility with Botan 1.6.x.
-All strings returned by read() method are now NULL terminated.
-All error message strings are now NULL terminated.
-Fixed multiple race conditions related to late mutex locking.
-Fixed multiple race conditions related to premature mutex unlocking.
-Fixed segfault when using cryptographic algorithms with block size > 64bit.
-Added aes192-cbc algorithm support.
-Fixed cleanup of connections after authentication failure.
-Fixed SFTP crash after changing to non existent remote directory.
-Updated examples.
-Updated api docs.
-
-
-1.2.7
-Converted to cmake from auto* tools.
-Moved thread functions into macros to avoid conflicts when linking to POSIX libraries in Windows.
-Fixed a race condition in ne7ssh.cpp.
-Fixed multiple memory leaks.
-
-
-1.2.6
-Fixed includes to compile with GCC 4.3.0.
-Fixed the cleanup of timed out connections.
-Fixed a race condition within ne7ssh.cpp.
-Fixes for mingw32 compiler.
-
-
-1.2.5
-Fixed a typo preventing use of 3des-cbc (thanks to Henry Fann for the patch).
-Fixed includes preventing compile in older versions of Linux.
-Fixed memory relocation issue in ne7ssh destructor.
-
-
-1.2.4
-Added support for SSH2_MSG_USERAUTH_BANNER.
-Fixed infinate loop in select_thread().
-Other bug fixes.
-
-
-1.2.3
-Fixed error logging issue seen during authentication.
-Added more detailed authentication error messages.
-Adjusted the error reporting interface for easier porting.
-Addressed debugging issues in the Windows port.
-Included new code examples reflecting the changes to the error reporting interface.
-
-
-1.2.2
-Fixed premature communication thread termination.
-Adjustments for MINGW compiler.
-Other bugfixes.
-
-
-1.2.1
-Fixed buffer overflow in SFTP put() and get().
-Mutex put in it's own class.
-Code formatting fixed.
-Other bugfixes.
-
-
-1.2.0
-Implemented Secure FTP client functionality.
-Fixed mutex locking issues.
-Fixed race conditions when running with multiple threads.
-Added support for RSA host keys.
-Added diffie-hellman-group14-sha1 key exchange algorithm support.
-Added timeout variable to connect methods.
-Other bugfixes.
-
-
-1.1.6
-Added support for Botan 1.5. Thanks to Jack Lloyd for the patch.
-WIN32 related bugfixes.
-Improved PEM file checking.
-Other minor bugfixes.
-
-
-1.1.5
-
-Fixed DSA key generation.
-Implemented single command execution.
-Added Support for reading binary data.
-Fixed getReceivedSize() method.
-Error handling rewritten.
-Fixed a few memory leaks.
-Other bugfixes.
-
-
-1.1
-
-RSA and DSA public key authentication support added.
-RSA and DSA key generation methods added.
-All errors are handled through throwError() function.
-Syslog functions removed.
-Implemented getReceivedSize() method to support reading past /0 character in received stream.
-Botan types changed to full types to avoid compatibility issues with WIN32.
-WIN32 specific thread functions added.
-Premature mutex unlocking in connection routines fixed.
-Fixed prevLen variable initialization in waitFor method.
-In Net7Sock class write() method, write() replaced with send().
-In Net7Sock class read() method, read() replaced with recv().
-Type definitions adjusted for WIN32 compatibility.
-WIN32 socket functions implemented.
-
-
-1.03
-
-Initial stand alone release.
diff --git a/src/libs/3rdparty/net7ssh/CMakeLists.txt b/src/libs/3rdparty/net7ssh/CMakeLists.txt
deleted file mode 100644
index 9bd25d2d557..00000000000
--- a/src/libs/3rdparty/net7ssh/CMakeLists.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-cmake_minimum_required(VERSION 2.0)
-project(net7ssh CXX)
-INCLUDE(CheckIncludeFileCXX)
-check_include_file_cxx("botan/botan.h" HAVE_BOTAN)
-if (NOT ${HAVE_BOTAN})
-MESSAGE(FATAL_ERROR "Could not find Botan library.")
-endif()
-set(CMAKE_INSTALL_PREFIX "/usr")
-add_subdirectory ( src )
-include_directories ( src )
-if ( UNIX )
-  SET(UNIX_STYLE_FLAGS 1)
-  SET(WIN32_STYLE_FLAGS 0)
-  EXECUTE_PROCESS(
-    COMMAND uname -a
-    OUTPUT_VARIABLE OS_ARCH
-    )
-    
-    IF ( OS_ARCH MATCHES ".*SunOS.*" )
-      MESSAGE ("Making Changes for SunOS!")
-      SET(CMAKE_C_COMPILER "cc")
-      SET(CMAKE_CXX_COMPILER "CC")
-      SET(CMAKE_LINKER "cc")
-      SET(CMAKE_AR "/usr/ccs/bin/ar")
-      SET(CMAKE_CXX_FLAGS "-I/usr/local/include")
-      SET(CMAKE_SHARED_LINKER_FLAGS "-L/usr/local/lib")
-      SET(CMAKE_MODULE_LINKER_FLAGS "-L/usr/local/lib")
-    ENDIF ( OS_ARCH MATCHES ".*SunOS.*" )
-
-ENDIF ( UNIX )
-set(net7ssh_LIB_SRCS
-    src/crypt.cpp
-    src/crypt.h
-    src/ne7ssh.cpp
-    src/ne7ssh.h
-    src/ne7ssh_channel.cpp
-    src/ne7ssh_channel.h
-    src/ne7ssh_connection.cpp
-    src/ne7ssh_connection.h
-    src/ne7ssh_kex.cpp
-    src/ne7ssh_kex.h
-    src/ne7ssh_session.cpp
-    src/ne7ssh_session.h
-    src/ne7ssh_string.cpp
-    src/ne7ssh_string.h
-    src/ne7ssh_transport.cpp
-    src/ne7ssh_transport.h
-    src/ne7ssh_types.h
-    src/ne7ssh_keys.cpp
-    src/ne7ssh_keys.h
-    src/ne7ssh_error.cpp
-    src/ne7ssh_error.h
-    src/ne7ssh_sftp.cpp
-    src/ne7ssh_sftp.h
-    src/ne7ssh_sftp_packet.cpp
-    src/ne7ssh_sftp_packet.h
-    src/ne7ssh_mutex.cpp
-    src/ne7ssh_mutex.h)
-
-add_library(ne7ssh STATIC ${net7ssh_LIB_SRCS})
-
-add_library(net7ssh SHARED ${net7ssh_LIB_SRCS})
-target_link_libraries(net7ssh botan)
-set_target_properties(net7ssh PROPERTIES VERSION 0.3.1 SOVERSION 0)
-
-
-########### install files ###############
-
-install(TARGETS net7ssh LIBRARY DESTINATION lib)
-install(FILES src/ne7ssh.h src/ne7ssh_types.h src/ne7ssh_error.h src/ne7ssh_mutex.h DESTINATION include)
-install(FILES LICENSE.QPL AUTHORS INSTALL COPYING CHANGELOG DESTINATION share/doc/ne7ssh)
-install(DIRECTORY doc DESTINATION share/doc/ne7ssh)
-install(DIRECTORY doc/html DESTINATION share/doc/ne7ssh)
-install(DIRECTORY examples DESTINATION share/doc/ne7ssh)
diff --git a/src/libs/3rdparty/net7ssh/COPYING b/src/libs/3rdparty/net7ssh/COPYING
deleted file mode 100644
index 85bc6356f50..00000000000
--- a/src/libs/3rdparty/net7ssh/COPYING
+++ /dev/null
@@ -1,103 +0,0 @@
-			     THE Q PUBLIC LICENSE
-				  version 1.0
-
-		   Copyright (C) 1999-2000 Troll Tech AS, Norway.
-		       Everyone is permitted to copy and
-		       distribute this license document.
-
-The intent of this license is to establish freedom to share and change the
-software regulated by this license under the open source model.
-
-This license applies to any software containing a notice placed by the
-copyright holder saying that it may be distributed under the terms of
-the Q Public License version 1.0.  Such software is herein referred to as
-the Software.  This license covers modification and distribution of the
-Software, use of third-party application programs based on the Software,
-and development of free software which uses the Software.
-
-				 Granted Rights
-
-1. You are granted the non-exclusive rights set forth in this license
-   provided you agree to and comply with any and all conditions in this
-   license.  Whole or partial distribution of the Software, or software
-   items that link with the Software, in any form signifies acceptance of
-   this license.
-
-2. You may copy and distribute the Software in unmodified form provided
-   that the entire package, including - but not restricted to - copyright,
-   trademark notices and disclaimers, as released by the initial developer
-   of the Software, is distributed.
-
-3. You may make modifications to the Software and distribute your
-   modifications, in a form that is separate from the Software, such as
-   patches. The following restrictions apply to modifications:
-
-     a. Modifications must not alter or remove any copyright notices in
-        the Software.
-
-     b. When modifications to the Software are released under this
-        license, a non-exclusive royalty-free right is granted to the
-        initial developer of the Software to distribute your modification
-        in future versions of the Software provided such versions remain
-        available under these terms in addition to any other license(s) of
-        the initial developer.
-
-4. You may distribute machine-executable forms of the Software or
-   machine-executable forms of modified versions of the Software, provided
-   that you meet these restrictions:
-
-     a. You must include this license document in the distribution.
-
-     b. You must ensure that all recipients of the machine-executable forms
-        are also able to receive the complete machine-readable source code
-        to the distributed Software, including all modifications, without
-        any charge beyond the costs of data transfer, and place prominent
-        notices in the distribution explaining this.
-
-     c. You must ensure that all modifications included in the
-        machine-executable forms are available under the terms of this
-        license.
-
-5. You may use the original or modified versions of the Software to
-   compile, link and run application programs legally developed by you
-   or by others.
-
-6. You may develop application programs, reusable components and other
-   software items that link with the original or modified versions of the
-   Software.  These items, when distributed, are subject to the following
-   requirements:
-
-     a. You must ensure that all recipients of machine-executable forms of
-        these items are also able to receive and use the complete
-        machine-readable source code to the items without any charge
-        beyond the costs of data transfer.
-
-     b. You must explicitly license all recipients of your items to use
-        and re-distribute original and modified versions of the items in
-        both machine-executable and source code forms. The recipients must
-        be able to do so without any charges whatsoever, and they must be
-        able to re-distribute to anyone they choose.
-
-
-     c. If the items are not available to the general public, and the
-        initial developer of the Software requests a copy of the items,
-        then you must supply one.
-
-			    Limitations of Liability
-
-In no event shall the initial developers or copyright holders be liable
-for any damages whatsoever, including - but not restricted to - lost
-revenue or profits or other direct, indirect, special, incidental or
-consequential damages, even if they have been advised of the possibility
-of such damages, except to the extent invariable law, if any, provides
-otherwise.
-
-			          No Warranty
-
-The Software and this license document are provided AS IS with NO WARRANTY
-OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE.
-                                 Choice of Law
-
-This license is governed by the Laws of Norway. Disputes shall be settled
-by Oslo City Court.
diff --git a/src/libs/3rdparty/net7ssh/INSTALL b/src/libs/3rdparty/net7ssh/INSTALL
deleted file mode 100644
index fde2e814599..00000000000
--- a/src/libs/3rdparty/net7ssh/INSTALL
+++ /dev/null
@@ -1,26 +0,0 @@
-Basic Installation Instructions
-===============================
-
-   These are generic installation instructions.
-
-   NetSieben SSH Library requires Botan crypto library 1.4.9 or higher.
-   It can be found here:
-
-   http://botan.randombit.net   
-   
-   NetSieben SSH Library requires Cmake. Cmake software can be found here:
-   http://www.cmake.org
-   
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `cmake .' to configure the package for your system.
-
-  2. Type `make all' to compile the package.
-
-  3. Type `make install' to install the programs and any data files and
-     documentation.
-
-  4. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  
-
diff --git a/src/libs/3rdparty/net7ssh/LICENSE.QPL b/src/libs/3rdparty/net7ssh/LICENSE.QPL
deleted file mode 100644
index 85bc6356f50..00000000000
--- a/src/libs/3rdparty/net7ssh/LICENSE.QPL
+++ /dev/null
@@ -1,103 +0,0 @@
-			     THE Q PUBLIC LICENSE
-				  version 1.0
-
-		   Copyright (C) 1999-2000 Troll Tech AS, Norway.
-		       Everyone is permitted to copy and
-		       distribute this license document.
-
-The intent of this license is to establish freedom to share and change the
-software regulated by this license under the open source model.
-
-This license applies to any software containing a notice placed by the
-copyright holder saying that it may be distributed under the terms of
-the Q Public License version 1.0.  Such software is herein referred to as
-the Software.  This license covers modification and distribution of the
-Software, use of third-party application programs based on the Software,
-and development of free software which uses the Software.
-
-				 Granted Rights
-
-1. You are granted the non-exclusive rights set forth in this license
-   provided you agree to and comply with any and all conditions in this
-   license.  Whole or partial distribution of the Software, or software
-   items that link with the Software, in any form signifies acceptance of
-   this license.
-
-2. You may copy and distribute the Software in unmodified form provided
-   that the entire package, including - but not restricted to - copyright,
-   trademark notices and disclaimers, as released by the initial developer
-   of the Software, is distributed.
-
-3. You may make modifications to the Software and distribute your
-   modifications, in a form that is separate from the Software, such as
-   patches. The following restrictions apply to modifications:
-
-     a. Modifications must not alter or remove any copyright notices in
-        the Software.
-
-     b. When modifications to the Software are released under this
-        license, a non-exclusive royalty-free right is granted to the
-        initial developer of the Software to distribute your modification
-        in future versions of the Software provided such versions remain
-        available under these terms in addition to any other license(s) of
-        the initial developer.
-
-4. You may distribute machine-executable forms of the Software or
-   machine-executable forms of modified versions of the Software, provided
-   that you meet these restrictions:
-
-     a. You must include this license document in the distribution.
-
-     b. You must ensure that all recipients of the machine-executable forms
-        are also able to receive the complete machine-readable source code
-        to the distributed Software, including all modifications, without
-        any charge beyond the costs of data transfer, and place prominent
-        notices in the distribution explaining this.
-
-     c. You must ensure that all modifications included in the
-        machine-executable forms are available under the terms of this
-        license.
-
-5. You may use the original or modified versions of the Software to
-   compile, link and run application programs legally developed by you
-   or by others.
-
-6. You may develop application programs, reusable components and other
-   software items that link with the original or modified versions of the
-   Software.  These items, when distributed, are subject to the following
-   requirements:
-
-     a. You must ensure that all recipients of machine-executable forms of
-        these items are also able to receive and use the complete
-        machine-readable source code to the items without any charge
-        beyond the costs of data transfer.
-
-     b. You must explicitly license all recipients of your items to use
-        and re-distribute original and modified versions of the items in
-        both machine-executable and source code forms. The recipients must
-        be able to do so without any charges whatsoever, and they must be
-        able to re-distribute to anyone they choose.
-
-
-     c. If the items are not available to the general public, and the
-        initial developer of the Software requests a copy of the items,
-        then you must supply one.
-
-			    Limitations of Liability
-
-In no event shall the initial developers or copyright holders be liable
-for any damages whatsoever, including - but not restricted to - lost
-revenue or profits or other direct, indirect, special, incidental or
-consequential damages, even if they have been advised of the possibility
-of such damages, except to the extent invariable law, if any, provides
-otherwise.
-
-			          No Warranty
-
-The Software and this license document are provided AS IS with NO WARRANTY
-OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE.
-                                 Choice of Law
-
-This license is governed by the Laws of Norway. Disputes shall be settled
-by Oslo City Court.
diff --git a/src/libs/3rdparty/net7ssh/README b/src/libs/3rdparty/net7ssh/README
deleted file mode 100644
index d81761df4fa..00000000000
--- a/src/libs/3rdparty/net7ssh/README
+++ /dev/null
@@ -1,614 +0,0 @@
-NetSieben SSH Library (ne7ssh) v1.3.2 README
-
-LEGALESE
-
-NetSieben Technologies Pty Limited
-http://www.netsieben.com
-
-Copyright (C) 2005-2009 NetSieben Technologies INC
-ALL RIGHTS RESERVED
-
-This program may be distributed under the terms of the Q Public
-License as defined by Trolltech AS of Norway and appearing in the
-file LICENSE.QPL included in the packaging of this file.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-----------------------------------------
-
-Table of Contents
-
-1. Overview
-1.1 Features
-1.2 Dependencies
-1.3 Installation
-
-2. Usage
-2.1 Initializing the class
-2.2 Setting the options
-2.3 Connecting to a remote server
-2.3.1 Key based authentication
-2.3.1.1 Generating a key pair
-2.3.2 Password based authentication
-
-2.4 Communications
-2.4.1 Interactive mode
-2.4.2 Single command
-
-2.5 Closing the connection
-2.6 Error handling
-2.6.1 Core context
-2.6.2 Channel context
-2.7 Secure FTP support
-2.7.1 Initializing the subsystem
-2.7.2 Setting a timeout for SFTP communications
-2.7.3 Downloading a file
-2.7.4 Uploading a file
-2.7.5 Removing a file
-2.7.6 Renaming or moving a file
-2.7.7 Changing the current context
-2.7.8 Creating a new directory
-2.7.9 Removing a directory
-2.7.10 Getting a directory listing
-2.7.11 Changing permissions
-2.7.12 Changing ownership
-
-3. Commercial License
-
-----------------------------------------
-1. Overview
-
-The Secure Shell (SSH) protocol is used by many, as a secure way of managing
-servers, firewalls and other network appliances.  Nowadays many custom built
-applications require Secure Shell client functionality.  Instead of spending
-countless hours building SSH functionality into an application one can now use
-NetSieben Technologies Inc. (NetSieben) SSH library to securely communicate
-with a variety of SSH server implementations.
-
-The library was developed by NetSieben after researching the limited number of
-options available. A lot of available solutions were either wrappers to openssh
-application or libraries with very limited functionality, and at best, still in
-alpha or beta stages of development.  At this time version 1 of the SSH
-protocol is outdated with well known security flaws inherently in its design.
-Therefore NetSieben SSH library supports only with version 2 of the SSH
-protocol.  Currently NetSieben's library supports only the SSH client.
-
-
-1.1 Features Feature Supported Algorithms
-
-Key exchange Diffie Hellman Group 1, SHA1 Signatures ssh-dss (1024) User
-authentication public key, password Authentication keys DSA (512bit to
-1024bit), RSA Encryption aes256-cbc, twofish-cbc, twofish256-cbc, blowfish-cbc,
-3des-cbc, aes128-cbc, cast128-cbc HMAC hmac-md5, hmac-sha1, none Compression
-not supported Interoperability SSH Library should work with most SSH2 server
-implementations. Tested with openssh on Linux. Solaris, FreeBSD and NetBSD.
-Also tested with Juniper Netscreen ssh server implementation.
-
-Portability: The NetSieben SSH Library is based on the Botan crypto library,
-making it highly portable.  It has been tested on Linux x86, Linux x86_64Linux
-PPC, Linux SPARC, Solaris, Windows 2000 and XP.
-
-1.2 Dependencies
-
-NetSiben SSH Library requires Botan crypto library 1.4.9 or higher.
-Recommended version is 1.4.12.  1.5.x development versions are not supported at
-this time.
-
-The Botan library can be found here: http://botan.randombit.net
-
-NetSieben SSH Library requires Cmake version 2.0 or higher. Cmake software can 
-be found here: http://www.cmake.org
-
-
-1.3 Installation
-
-Public version of NetSieben SSH library is distributed in source code form.
-The current version uses autoconf to handle generating of Makefile(s) for your
-system.  Generally you should be able to install NetSieben SSH Library by
-executing the following commands after decompressing the tarball:
-
-cmake .
-make
-make install
-
-For more information please refer to INSTALL file included in the software
-package.
-
-
-2. Usage
-
-2.1 Initializing the class
-
-Before using library's functionality it needs to be initialized.  The
-initialization process will allocate the required memory resources and prepare
-cryptographic methods for usage.  It is recommended to do this first, when
-starting the application.  Only one instance of ne7ssh class can be used at a
-time.  Single instance of ne7ssh class is able to handle multiple connections
-to multiple servers.  It is recommended to initialize the class when starting,
-use the same class for all of your SSH connections, and destroy it on the exit.
-The class should be  initialized with the following command:
-
-ne7ssh *ssh = new ne7ssh ();
-
-The constructor of the class requires no arguments.  The applications will exit
-when trying to initialize the class more than once within the same application.
-
-
-2.2 Setting the options
-
-Before opening Secure connections, custom options can be configured for the use
-in all future connections.  Currently only desired cipher and integrity
-checking algorithms can be configured.  The following method can be used to
-configure the options:
-
-setOptions (const char *prefCipher, const char *prefHmac)
-
-prefCipher	your preferred cipher algorithm string representation.
-		Supported options are: aes256-cbc, twofish-cbc, twofish256-cbc,
-		blowfish-cbc, 3des-cbc, aes128-cbc, cast128-cbc.
-
-prefHmac	the preferred integrity checking algorithm string.
-		Supported optionss are: hmac-md5, hmac-sha1 and none.
-
-
-This step is optional and if skipped the SSH library will use the default
-settings.  If desired algorithms are not supported by the server, the next one
-from the list of supported algorithms will be used.
-
-
-2.3 Connecting to a remote server
-
-After the options are set, connections to remote servers can be initiated.
-NetSieben library supports Password and Public Key authentication methods.
-
-
-2.3.1 Key based authentication
-
-NetSieben SSH library supports key based authentication.  For this to work one
-needs to generate a key pair either by using generateKeyPair method from ne7ssh
-class or by using ssh-keygen program included in openssh distributions.  Server
-has to support key based authentication and newly generated public key needs to
-be added to servers authorized keys.  The process may differ depending on SSH
-server vendor.  Currently RSA and DSA keys are supported.  The NetSieben
-library keys are compatible with unencrypted OpenSSH keys.
-
-No password should be specified when creating a key pair with ssh-keygen.  To
-establish connection to a remote server using a private key use the following
-method:
-
-int ssh->connectWithKey (const char* host, uint32 port, const char* username,
-const char* privKeyFile);
-
-host		Hostname or IP of the server.
-port		Port the SSH server binds to.
-		usually be 22 (standard SSH port).
-username	Username to be used in authentication.
-PrivKeyFile	Full path to a PEM encoded private key file.
-
-If the connection succeeds, the method will return the newly created channel
-ID.  This ID should be used in all further communications via newly created
-connection.  If the connection failed for any reason, "-1" will be returned by
-the method.
-
-Generating a key pair
-
-NetSieben SSH library can be used to generate key pairs.  Currently RSA and DSA
-key algorithms are supported.  DSA keys can only be between 512bits and
-1024bits (restriction inherited from Botan library).  The newly generate keys
-are OpenSSH compatible and public keys can be pasted straight into
-authorized_keys file.  The following method generates a key pair:
-
-bool generateKeyPair (const char* type, const char* fqdn, const char*
-privKeyFileName,  const char* pubKeyFileName, uint16 keySize);
-
-type		String specifying key type. Currently "dsa" and "rsa" are supported.
-fqdn		User id. Such as an Email address.
-privKeyFileName	Full path to a file where generated private key will be written.
-pubKeyFileName	Full path to a file where generated public key will be written.
-keySize		Desired key size in bits. If not specified will default to 2048.
-		The value has to be changed if generating a dsa keypair.
-shell		Should the shell be spawned on the remote end.  True by defaut. 
-		Should be set to false if using sendCmd method after authentication.
-
-
-2.3.2 Password based authentication
-
-NetSieben SSH library supports password based authentication.  The password
-authentication should be enabled in the server configuration.  If using this
-method make sure its enabled as many distributions of OpenSSH disable this
-method by default.  The following method allows to establish a connection using
-the password authentication:
-
-int connectWithPassword (const char *host, uint32 port, const char *username,
-const char *password )
-
-host		Hostname or IP of the server.
-port		Port SSH server binds to, usually 22 (the standard SSH port).
-username	Username used in authentication.
-password	Password used in authentication.
-
-If the connection succeeds, the method will return the newly created channel
-ID. This ID should be used in all further communications via newly established
-connection.  If the connection fails for any reason, "-1" will be returned by
-the method.
-
-
-2.4 Communications
-
-NetSieben SSH library supports two command modes.  The first is interactive
-mode used for sending text commands and waiting for text results.  This works
-much like perl "Expect" module.  The second mode is a single command mode,
-where library sends a single command to the remote end, waits for results and
-disconnects.  This method can be used to handle binary results.
-
-
-2.4.1 Interactive mode
-
-Send command
-
-Before sending a command the waitFor method should be used to wait for shell
-prompt, ensuing the remote end is ready for interactive commands.  Sending a
-command to the remote end can be accomplished using this method:
-
-bool send (const char *data, int channel )
-
-data		Command to send. This should be a string terminated with an EOL.
-		Most terminals will not process a command without end-line.
-		(character(s) (\n in Unix) to it).
-channel		Channel ID.
-
-The method will return "true" if the write to send buffer succeeded.  Otherwise
-false will be returned.  Note: Keep in mind that each usage of send() method
-will flush the receive buffer.
-
-Wait for results
-
-If the connection is established and a shell launched at the remote end one
-needs to pause until a specific string is received.  This could be used to wait
-for shell prompt after connecting or after a command execution.  The SSH
-protocol is designed to send data in packets.  If results are read from the
-buffer right after sending a command, there is no guarantee that the entire
-result has been received by the library.  Thus it is necessary to wait for a
-particular string to appear in the receive buffer.  This ensures that all the
-data has been received.
-
-If the specified string is not received, to avoid blocking condition, a timeout
-value should be specified.  If the desired result is not received in specified
-timeframe, the function will return false.  The following method is used for
-interactive communications:
-
-bool waitFor (int channel, const char *str, uint32 timeout = 0)
-
-channel		Channel ID  received from the connection methods, specifying
-		the interactive channel.
-str		String containing text to wait for.
-timeout		Timeout in seconds.  Timeout depends on the speed of your
-		connection to the remote side. 2 seconds should be enough for
-		most connections.  If 0 is specified, the method will block
-		until the requested string arrives in the receive buffer.
-
-If an expected string is received the method will return "true".  If the
-timeout has been reached, the method will return "false".
-
-
-Fetching the result
-
-After receiving the expected string or reaching the timeout threshold, the
-received results can be accessed by using the following method:
-
-const char *read (int channel)
-
-channel		Channel ID  received from the connection methods, specifying
-		the interactive channel.
-
-The method will return pointer to the receive buffer.  The memory for the
-buffer doesn't need to be allocated nor freed by a programmer, its storage is
-handled entirely by the ne7ssh class.  This method should always be executed
-after waitFor() method.
-
-
-2.4.2 Single command
-
-Single command can be used when only one command needs to be executed before
-disconnecting.  Or when expected result is binary.
-
-Sending command
-
-This method will not work if the shell has been spawned at the remote end.  One
-needs to make sure that "shell" parameter of authentication method is set to
-"false" before using this method:
-
-bool sendCmd (const char* cmd, int channel, int timeout);
-
-cmd		Command to send. This should be a string terminated with an EOL.
-		Most terminals will not process a command without end-line.
-		(character(s) (\n in Unix) to it).
-channel		Channel ID.
-timeout		How long to wait for completion.  This value will depend on the
-		speed of connection and size of results.  Recommended value is 30
-		seconds.
-
-The method will "true" if command executed successfully.  If an error occurred
-during execution "false" is returned.  The last error can be obtained by using
-errors()->pop() method.
-
-Result buffer size
-
-After sending a command followed by a successful execution, the result is
-received by the SSH library and placed into the receive buffer.  If the data
-received is binary one needs to know the size of the buffer before reading it.
-This can be obtain by the following method:
-
-int getReceivedSize (int channel)
-
-channel		Channel ID.
-
-The method will return the size of the receive buffer, or zero if the buffer is
-empty.
-
-Fetching the result
-
-If the expected result is a string one can use the above mentioned read()
-method to fetch the data.  However if the result is binary the following method
-should be used:
-
-void *readBinary (int channel)
-
-channel		Channel ID  received from the connection methods.
-
-The method will return a pointer to the receive buffer.  The memory for the
-buffer doesn't need to be allocated nor freed by a programmer, its storage is
-handled entirely by the ne7ssh class.  Having a pointer to the receive buffer
-and the size of the buffer, one can easily fetch the binary data stored.
-
-
-2.5 Closing the connection
-
-When the desired communications are completed the connection needs to be close
-using this method:
-
-bool close (int channel)
-
-channel		Channel ID  received from the connection methods.
-
-The method returns "true" if the sending of "close" command succeeds.  "False"
-is returned if the channel has already been closed.  It is highly recommended
-to use a shell command to close the interactive connection instead of this
-method.
-
-
-2.6 Error handling
-
-Starting with version 1.1.5 the SSH library integrates contextual error
-reporting.  Errors are bound to the channel they occur in.  The core messages
-are bound to the Core context.  All errors are stored in a static instance of
-Ne7sshError class and can be access via ne7ssh::errors() method.
-
-
-2.6.1 Core context
-
-The errors that are not bound to a channel context are considered to be core
-errors and can be retrieved using the following command:
-
-const char* Ne7sshError::pop()
-
-The command returns a pointer to the last error message within Core context,
-removing it from the stack.  Continued execution of this command will result in
-returning of all Core error messages and at the same time removing them from
-the stack.  If there are no error message in the Core context zero is returned.
-
-
-2.6.2 Channel context
-
-The errors that are bound to a channel context can be retrieved using the
-following command:
-
-const char* Ne7sshError::pop(in channel)
-
-channel		Channel ID.
-
-The command returns a pointer to the last error message within particular
-channel context, also removing it from the stack.  Continued execution of this
-command will result in returning of all particular channel error messages at
-the same time removing them from the stack.  If there are no error message in a
-channel context zero is returned.
-
-
-2.7 Secure FTP support
-
-Secure FTP (SFTP) client is supported by the NetSieben library starting with
-version 1.2.0.
-
-2.7.1 Initializing the subsystem
-
-In order to utilize the Secure FTP functionality sftp specific class instances
-need to be icreated and sftp subsystem started on the server side.  In order to
-accomplish this task the following variable needs to be defined:
-
-Ne7SftpSubsystem _sftp
-
-The following method is used to initialize the subsystem.  The method needs
-channel ID, so has to be executed after one of the connect methods.  Make sure
-remote shell is not spawned.
-
-bool initSftp (class Ne7SftpSubsystem& _sftp, int channel)
-
-_sftp		Reference to SFTP subsystem to be initialized.
-channel		Channel ID returned by one of the connect methods.
-
-
-This command returns "true" if the new subsystem was successfully initialized.
-And "false" is returned if any error occurs.
-
-
-2.7.2 Setting a timeout for SFTP communications.
-
-The SFTP subsystem has a default timeout for all of the communications, set to
-30 seconds.  This should work well under most circumstances, however sometimes
-it maybe desirable to modify this value.  The following method accomplishes the
-task:
-
-bool setTimeout (uint32 _timeout)
-
-timeout		Timeout in seconds.
-
-
-This command returns "true" upon successful setting of the timeout.  Returns
-"false" on any error.
-
-
-2.7.3 Downloading a file
-
-The following method is used to download a file from a remote server.  It
-functions like sftp "get" command:
-
-bool get (const char* remoteFile, FILE* localFile)
-
-remoteFile		Full or relative path to the file on the remote side.
-LocalFile		Pointer to FILE structure. If the file being retrieved
-			is binary, use "w+" attributes in fopen function.
-
-This command returns "true" if the file was successfully downloaded.  Returns
-"false" on any error.
-
-
-2.7.4 Uploading a file
-
-The following method is used for uploading a file to a remote server.  It
-functions like SFTP "put" command:
-
-bool put (FILE* localFile, const char* remoteFile)
-
-localFile		Pointer to FILE structure. If the file being retrieved
-			is binary, use "r+" attributes in fopen function.
-remoteFile		Full or relative path to the file on the remote side.
-
-
-This command returns "true" if the file was successfully uploaded.  Returns
-"false" if any error is encountered.
-
-
-2.7.5 Removing a file
-
-The following method is used to remove a file.  It functions like sftp "rm"
-command:
-
-bool rm (const char* remoteFile)
-
-remoteFile		Full or relative path to the file on the remote side.
-
-
-This command returns "true" if the file was successfully removed.  Returns
-"false" if any error is encountered.
-
-
-2.7.6 Renaming or moving a file
-
-The following method is used to rename or move a file.  It functions like sftp
-"rename" command:
-
-bool mv (const char* oldFile, const char* newFile)
-
-oldFile		Full or relative path to the file being moved or renamed.
-newFIle		Full or relative path to the new location/name of the file.
-
-
-This command returns "true" if the file was successfully renamed or moved.
-Returns "false"  if any error is encountered.
-
-
-2.7.7 Changing the current context
-
-The following method is used to change the current context.  It functions like
-sftp "cd" command:
-
-bool cd (const char* remoteDir)
-
-remoteDir		Full or relative path to a new work path.
-
-
-This command returns "true" if the context was successfully changed.  Returns
-"false"  if any error is encountered.
-
-
-2.7.8 Creating a new directory
-
-The following method is used to create a new directory.  It functions like sftp
-"mkdir" command:
-
-bool mkdir (const char* remoteDir)
-
-remoteDir		Full or relative path to a new directory.
-
-
-This command returns "true" if the new directory was successfully created.
-Returns "false"  if any error is encountered.
-
-
-2.7.9 Removing a directory
-
-The following method if used to remove a directory.  It functions like sftp
-"rmdir" command:
-
-bool rmdir (const char* remoteDir)
-
-remoteDir		Full or relative path to a directory.
-
-This command returns "true" if the directory was successfully removed.  Returns
-"false"  if any error is encountered.
-
-
-2.7.10 Getting a directory listing
-
-The following method is used to get a directory listing.  It functions like
-sftp "ls" command:
-
-const char* ls (const char* remoteDir, bool longNames=false)
-
-remoteDir		Full or relative path to a directory.
-LongNames		If set to "true" the returned string in addition to
-			file strings will contain attributes for each file.
-
-
-This command returns pointer to a buffer containing directory listing.  Returns
-NULL if any error is encountered.
-
-
-2.7.11 Changing permissions
-
-The following method is used to change the permissions of a file or directory.
-It functions like sftp "chmod" command:
-
-bool chmod (const char* remoteFile, const char* mode)
-
-remotFile		Full or relative path to a file.
-mode			Mode string.  It can be either a numerical mode
-			expression such as "755" or an expression showing the
-			modifications to be made, such as "ug+w".  Mode string
-			is the same as used by *nix chmod command.
-
-This command returns "true" if the new permissions are successfully applied.
-Returns "false"  if any error is encountered.
-
-
-2.7.12 Changing ownership
-
-The following method is used to change the ownership of a file or directory.
-It functions like sftp "chown" command:
-
-bool chown (const char* remoteFile, uint32_t uid, uint32_t gid)
-
-remoteFile		Full or relative path to a file.
-uid			Numerical user ID of the new owner.
-gid			Numerical group ID of the new owner.
-
-This command returns "true" if the new ownership is successfully applied.
-Returns "false"  if any error is encountered.
-
-
-3. Commercial License
-
-For details about commercial license please fill out the form located at:
-https://netsieben.com/sshlib_info.phtml
diff --git a/src/libs/3rdparty/net7ssh/doc/html/annotated.html b/src/libs/3rdparty/net7ssh/doc/html/annotated.html
deleted file mode 100644
index 6a2145ac6c5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/annotated.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
-  <tr><td class="indexkey"><a class="el" href="structconnStruct.html">connStruct</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh.html">ne7ssh</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td class="indexvalue"></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem-members.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem-members.html
deleted file mode 100644
index 73bb9a14d95..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem-members.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7SftpSubsystem Member List</h1>This is the complete list of members for <a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>APPEND</b> enum value (defined in <a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#0bc632d1abdac46baedaad6f76636cba">cd</a>(const char *remoteDir)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#15cea19efa1b2ce91c0ed8c6710dee2b">chmod</a>(const char *remoteFile, const char *mode)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#b6ed2ff52f213c28d5186fe5e65e810b">chown</a>(const char *remoteFile, uint32_t uid, uint32_t gid=0)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#dca975297ba792499e46d1cb34bb39cb">closeFile</a>(uint32 fileID)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#9f850d3738bac612c5d97548c0924a87">errorNotInited</a>()</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#a5078f3f824833954019ed851d24f04d">get</a>(const char *remoteFile, FILE *localFile)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#169ca7f6d634a762662914ffe715d139">getFileAttrs</a>(fileAttrs &amp;attrs, const char *filename, bool followSymLinks=true)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>inited</b> (defined in <a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#9dc82cfe8ab7134a23ed1d9a8d812385">isDir</a>(const char *remoteFile)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#32d54e5da7a8b963f5d1c07b47b7a6d1">isFile</a>(const char *remoteFile)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#2e33455d3c7962e7ce4cf44ca5563005">ls</a>(const char *remoteDir, bool longNames=false)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#182111ca7e0873bfcac9f7970cba7d5d">mkdir</a>(const char *remoteDir)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#197400dfc6fa7ab90a7150800eb0ad2e">mv</a>(const char *oldFile, const char *newFile)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#86e3b1992107ac21d83345ed48c74e2f">Ne7SftpSubsystem</a>()</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#7949346f2c705b7d33a1201f71ea0353">Ne7SftpSubsystem</a>(class Ne7sshSftp *_sftp)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#e2de3ddfdace4f37680ffb9969bba017">openDir</a>(const char *dirname)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">openFile</a>(const char *filename, uint8 mode)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>OVERWRITE</b> enum value (defined in <a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#44cde20b6c96d02ebe1314cc343327d2">put</a>(FILE *localFile, const char *remoteFile)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>READ</b> enum value (defined in <a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#110c09fc4eeadc93359ea3f3ced96f74">readFile</a>(uint32 fileID, uint64 offset=0)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#2cfe3fb14e7e21c84bf27828c424ec8c">rm</a>(const char *remoteFile)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#22339987ced8ffc3851b3d511b036db0">rmdir</a>(const char *remoteDir)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#4d7d02621a9a81b36a152c9c7abfffae">setTimeout</a>(uint32 _timeout)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sftp</b> (defined in <a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#b140ea998359cbcb4ab902a0f1ac0f7d">writeFile</a>(uint32 fileID, const uint8 *data, uint32 len, uint64 offset=0)</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">writeMode</a> enum name</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7SftpSubsystem.html#3b9899662d8b56efce4323b3d5253f08">~Ne7SftpSubsystem</a>()</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem.html
deleted file mode 100644
index 09b06ed273b..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem.html
+++ /dev/null
@@ -1,879 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7SftpSubsystem Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7SftpSubsystem Class Reference</h1><!-- doxytag: class="Ne7SftpSubsystem" --><code>#include &lt;<a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for Ne7SftpSubsystem:</div>
-<div class="dynsection">
-<p><center><img src="classNe7SftpSubsystem__coll__graph.png" border="0" usemap="#Ne7SftpSubsystem__coll__map" alt="Collaboration graph"></center>
-<map name="Ne7SftpSubsystem__coll__map">
-<area shape="rect" href="classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="547,149,643,176"><area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="293,95,416,121"><area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="12,21,121,48"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="5,211,128,237"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="301,216,408,243"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="288,277,421,304"><area shape="rect" href="structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="281,328,428,355"><area shape="rect" href="structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="265,379,444,405"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classNe7SftpSubsystem-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">writeMode</a> { <b>READ</b>, 
-<b>OVERWRITE</b>, 
-<b>APPEND</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#86e3b1992107ac21d83345ed48c74e2f">Ne7SftpSubsystem</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#7949346f2c705b7d33a1201f71ea0353">Ne7SftpSubsystem</a> (class <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> *_sftp)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#3b9899662d8b56efce4323b3d5253f08">~Ne7SftpSubsystem</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#4d7d02621a9a81b36a152c9c7abfffae">setTimeout</a> (uint32 _timeout)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">openFile</a> (const char *filename, uint8 mode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#e2de3ddfdace4f37680ffb9969bba017">openDir</a> (const char *dirname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#110c09fc4eeadc93359ea3f3ced96f74">readFile</a> (uint32 fileID, uint64 offset=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#b140ea998359cbcb4ab902a0f1ac0f7d">writeFile</a> (uint32 fileID, const uint8 *data, uint32 len, uint64 offset=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#dca975297ba792499e46d1cb34bb39cb">closeFile</a> (uint32 fileID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#169ca7f6d634a762662914ffe715d139">getFileAttrs</a> (<a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a> &amp;attrs, const char *filename, bool followSymLinks=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#a5078f3f824833954019ed851d24f04d">get</a> (const char *remoteFile, FILE *localFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#44cde20b6c96d02ebe1314cc343327d2">put</a> (FILE *localFile, const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#2cfe3fb14e7e21c84bf27828c424ec8c">rm</a> (const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#197400dfc6fa7ab90a7150800eb0ad2e">mv</a> (const char *oldFile, const char *newFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#182111ca7e0873bfcac9f7970cba7d5d">mkdir</a> (const char *remoteDir)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#22339987ced8ffc3851b3d511b036db0">rmdir</a> (const char *remoteDir)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#2e33455d3c7962e7ce4cf44ca5563005">ls</a> (const char *remoteDir, bool longNames=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#0bc632d1abdac46baedaad6f76636cba">cd</a> (const char *remoteDir)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#15cea19efa1b2ce91c0ed8c6710dee2b">chmod</a> (const char *remoteFile, const char *mode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#b6ed2ff52f213c28d5186fe5e65e810b">chown</a> (const char *remoteFile, uint32_t uid, uint32_t gid=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#32d54e5da7a8b963f5d1c07b47b7a6d1">isFile</a> (const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#9dc82cfe8ab7134a23ed1d9a8d812385">isDir</a> (const char *remoteFile)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7SftpSubsystem.html#9f850d3738bac612c5d97548c0924a87">errorNotInited</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad6458a48141e08e8116983c7a15db71"></a><!-- doxytag: member="Ne7SftpSubsystem::inited" ref="ad6458a48141e08e8116983c7a15db71" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>inited</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18eaacaf93e4ec2edf5c6790a2030680"></a><!-- doxytag: member="Ne7SftpSubsystem::sftp" ref="18eaacaf93e4ec2edf5c6790a2030680" args="" -->
-<a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>sftp</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas &lt;<a href="mailto:andrew@netsieben.com">andrew@netsieben.com</a>&gt; </dd></dl>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="76285cf453a5b363a9cf79d071c44ada"></a><!-- doxytag: member="Ne7SftpSubsystem::writeMode" ref="76285cf453a5b363a9cf79d071c44ada" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">Ne7SftpSubsystem::writeMode</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Modes used when opening a remote file. 
-</div>
-</div><p>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="86e3b1992107ac21d83345ed48c74e2f"></a><!-- doxytag: member="Ne7SftpSubsystem::Ne7SftpSubsystem" ref="86e3b1992107ac21d83345ed48c74e2f" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7SftpSubsystem::Ne7SftpSubsystem           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Default constructor. 
-</div>
-</div><p>
-<a class="anchor" name="7949346f2c705b7d33a1201f71ea0353"></a><!-- doxytag: member="Ne7SftpSubsystem::Ne7SftpSubsystem" ref="7949346f2c705b7d33a1201f71ea0353" args="(class Ne7sshSftp *_sftp)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7SftpSubsystem::Ne7SftpSubsystem           </td>
-          <td>(</td>
-          <td class="paramtype">class <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> *&nbsp;</td>
-          <td class="paramname"> <em>_sftp</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructor used to initialize the subsystem with a new <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> class instance. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_sftp</em>&nbsp;</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> class instance. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="3b9899662d8b56efce4323b3d5253f08"></a><!-- doxytag: member="Ne7SftpSubsystem::~Ne7SftpSubsystem" ref="3b9899662d8b56efce4323b3d5253f08" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7SftpSubsystem::~Ne7SftpSubsystem           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Default destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0bc632d1abdac46baedaad6f76636cba"></a><!-- doxytag: member="Ne7SftpSubsystem::cd" ref="0bc632d1abdac46baedaad6f76636cba" args="(const char *remoteDir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::cd           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to change the current working directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to the new working directory on the remote server. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if change of directory succedded. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="15cea19efa1b2ce91c0ed8c6710dee2b"></a><!-- doxytag: member="Ne7SftpSubsystem::chmod" ref="15cea19efa1b2ce91c0ed8c6710dee2b" args="(const char *remoteFile, const char *mode)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::chmod           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used for changing the permissions associated with a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Mode string. It can be either a numerical mode expression such as "755" or an expression showing the modifications to be made, such as "ug+w". Mode string is the same as used by *nix chmod command. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the new permissions are succesfully applied to the remote file. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b6ed2ff52f213c28d5186fe5e65e810b"></a><!-- doxytag: member="Ne7SftpSubsystem::chown" ref="b6ed2ff52f213c28d5186fe5e65e810b" args="(const char *remoteFile, uint32_t uid, uint32_t gid=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::chown           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&nbsp;</td>
-          <td class="paramname"> <em>uid</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32_t&nbsp;</td>
-          <td class="paramname"> <em>gid</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to change the owner of a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>Numerical new owner user ID. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>gid</em>&nbsp;</td><td>Numerical new owner group ID. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the change of ownership succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="dca975297ba792499e46d1cb34bb39cb"></a><!-- doxytag: member="Ne7SftpSubsystem::closeFile" ref="dca975297ba792499e46d1cb34bb39cb" args="(uint32 fileID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::closeFile           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to close a file opened by using <a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">openFile()</a> method. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID returned by <a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">openFile()</a> method. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">Ne7sshSftp::closeFile()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9f850d3738bac612c5d97548c0924a87"></a><!-- doxytag: member="Ne7SftpSubsystem::errorNotInited" ref="9f850d3738bac612c5d97548c0924a87" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::errorNotInited           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pushes and error to the error buffer, if this subsystem has not been initialized before usage. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the push succeeds. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00865">cd()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00871">chmod()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00877">chown()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00801">closeFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00819">get()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00813">getFileAttrs()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00889">isDir()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00883">isFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00855">ls()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00843">mkdir()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00837">mv()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00783">openDir()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00777">openFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00825">put()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00789">readFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00831">rm()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00849">rmdir()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00770">setTimeout()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00795">writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a5078f3f824833954019ed851d24f04d"></a><!-- doxytag: member="Ne7SftpSubsystem::get" ref="a5078f3f824833954019ed851d24f04d" args="(const char *remoteFile, FILE *localFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::get           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">FILE *&nbsp;</td>
-          <td class="paramname"> <em>localFile</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to retrieve a remote file and dump it into local file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the file on the remote side. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>localFile</em>&nbsp;</td><td>Pointer to the FILE structure. If the file being retrieved is binary, use "w+" attributes in fopen function. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if getting the file is succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">Ne7sshSftp::get()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="169ca7f6d634a762662914ffe715d139"></a><!-- doxytag: member="Ne7SftpSubsystem::getFileAttrs" ref="169ca7f6d634a762662914ffe715d139" args="(fileAttrs &amp;attrs, const char *filename, bool followSymLinks=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::getFileAttrs           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>attrs</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>followSymLinks</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to retrieve remote file attributes and place them into <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a> structure. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>attrs</em>&nbsp;</td><td>Reference to <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a> structure where retrieved attributes should be placed. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Name of the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>followSymLinks</em>&nbsp;</td><td>If this variable is set to true, symbolic links will be followed. That is the default befavour. If this behavour is undesired, pass "false". </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the attributes successfully retrieved. Otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00779">Ne7sshSftp::getFileAttrs()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9dc82cfe8ab7134a23ed1d9a8d812385"></a><!-- doxytag: member="Ne7SftpSubsystem::isDir" ref="9dc82cfe8ab7134a23ed1d9a8d812385" args="(const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::isDir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to determine if a remote inode is a directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote file. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the remote inode is a directory. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00824">Ne7sshSftp::isDir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="32d54e5da7a8b963f5d1c07b47b7a6d1"></a><!-- doxytag: member="Ne7SftpSubsystem::isFile" ref="32d54e5da7a8b963f5d1c07b47b7a6d1" args="(const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::isFile           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to determine if a remote inode is a regular file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote inode. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the remote inode is a regular file. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00819">Ne7sshSftp::isFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2e33455d3c7962e7ce4cf44ca5563005"></a><!-- doxytag: member="Ne7SftpSubsystem::ls" ref="2e33455d3c7962e7ce4cf44ca5563005" args="(const char *remoteDir, bool longNames=false)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * Ne7SftpSubsystem::ls           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>longNames</em> = <code>false</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This methods is used retrieve a listing of a remote directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to a directory. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>longNames</em>&nbsp;</td><td>If set to "true" the returned string in addition to file strings will contain attributes for each file. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to a string containing the directory listing. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="182111ca7e0873bfcac9f7970cba7d5d"></a><!-- doxytag: member="Ne7SftpSubsystem::mkdir" ref="182111ca7e0873bfcac9f7970cba7d5d" args="(const char *remoteDir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::mkdir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to create a new directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to a new directory on the remote server. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the directory successfully created. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="197400dfc6fa7ab90a7150800eb0ad2e"></a><!-- doxytag: member="Ne7SftpSubsystem::mv" ref="197400dfc6fa7ab90a7150800eb0ad2e" args="(const char *oldFile, const char *newFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::mv           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>oldFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>newFile</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to rename/move files. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>oldFile</em>&nbsp;</td><td>Full or relative path to an old file on the remote server. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>newFile</em>&nbsp;</td><td>Full or relative path to a new file on the remote side. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if renaming successfull. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e2de3ddfdace4f37680ffb9969bba017"></a><!-- doxytag: member="Ne7SftpSubsystem::openDir" ref="e2de3ddfdace4f37680ffb9969bba017" args="(const char *dirname)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 Ne7SftpSubsystem::openDir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>dirname</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to open an inode containing file entries a.k.a directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>dirname</em>&nbsp;</td><td>Relative or full path to the inode. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Newly opened file ID or 0 if the inode could not be opened. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7e2df0ba14cf164591912191bd0f756e"></a><!-- doxytag: member="Ne7SftpSubsystem::openFile" ref="7e2df0ba14cf164591912191bd0f756e" args="(const char *filename, uint8 mode)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 Ne7SftpSubsystem::openFile           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint8&nbsp;</td>
-          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to open a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Relative or full path to the file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Mode to be used when opening the file. Can be one of the modes defined by writeMode class variable. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Newly opened file ID or 0 if file could not be opened. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="44cde20b6c96d02ebe1314cc343327d2"></a><!-- doxytag: member="Ne7SftpSubsystem::put" ref="44cde20b6c96d02ebe1314cc343327d2" args="(FILE *localFile, const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::put           </td>
-          <td>(</td>
-          <td class="paramtype">FILE *&nbsp;</td>
-          <td class="paramname"> <em>localFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to upload a file to a remote server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>localFile</em>&nbsp;</td><td>Pointer to the FILE structure. If the file being retrieved is binary, use "r+" attributes in fopen function. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the file on the remote side. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if putting the file succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">Ne7sshSftp::put()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="110c09fc4eeadc93359ea3f3ced96f74"></a><!-- doxytag: member="Ne7SftpSubsystem::readFile" ref="110c09fc4eeadc93359ea3f3ced96f74" args="(uint32 fileID, uint64 offset=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::readFile           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64&nbsp;</td>
-          <td class="paramname"> <em>offset</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to read datablock up to the size of SFTP_MAX_MSG_SIZE from a file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID retruned by <a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">openFile()</a> method. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>Offset. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if file content successfully read and placed in the buffer. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">Ne7sshSftp::readFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2cfe3fb14e7e21c84bf27828c424ec8c"></a><!-- doxytag: member="Ne7SftpSubsystem::rm" ref="2cfe3fb14e7e21c84bf27828c424ec8c" args="(const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::rm           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to remove a file on a remote server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the file on the remote side. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if remove succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="22339987ced8ffc3851b3d511b036db0"></a><!-- doxytag: member="Ne7SftpSubsystem::rmdir" ref="22339987ced8ffc3851b3d511b036db0" args="(const char *remoteDir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::rmdir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to remove a remote directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to a directory to be removed. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the directory successfully removed. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4d7d02621a9a81b36a152c9c7abfffae"></a><!-- doxytag: member="Ne7SftpSubsystem::setTimeout" ref="4d7d02621a9a81b36a152c9c7abfffae" args="(uint32 _timeout)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::setTimeout           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>_timeout</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to set a timeout for all SFTP subsystem communications. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_timeout</em>&nbsp;</td><td>Timeout in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if timeout set, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8h_source.html#l00294">Ne7sshSftp::setTimeout()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b140ea998359cbcb4ab902a0f1ac0f7d"></a><!-- doxytag: member="Ne7SftpSubsystem::writeFile" ref="b140ea998359cbcb4ab902a0f1ac0f7d" args="(uint32 fileID, const uint8 *data, uint32 len, uint64 offset=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7SftpSubsystem::writeFile           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const uint8 *&nbsp;</td>
-          <td class="paramname"> <em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64&nbsp;</td>
-          <td class="paramname"> <em>offset</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to write data-block up to the size of SFTP_MAX_MSG_SIZE to a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID returned by <a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">openFile()</a> method. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to a buffer containing the data. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length of the block. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>Offset in the remote file. If offset is passed EOF the space between EOF and offset will be filled by 0x0. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if file contect successfully written. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00807">errorNotInited()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">Ne7sshSftp::writeFile()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a><li>ne7ssh.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.map
deleted file mode 100644
index 7abd9ada75c..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.map
+++ /dev/null
@@ -1,8 +0,0 @@
-<area shape="rect" href="$classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="547,149,643,176">
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="293,95,416,121">
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="12,21,121,48">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="5,211,128,237">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="301,216,408,243">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="288,277,421,304">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="281,328,428,355">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="265,379,444,405">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.md5
deleted file mode 100644
index b417fbad956..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7SftpSubsystem__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-a3599377bc7d09bac1983e35132d609e
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError-members.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError-members.html
deleted file mode 100644
index f7cafb0c76d..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError-members.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshError Member List</h1>This is the complete list of members for <a class="el" href="classNe7sshError.html">Ne7sshError</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#01a085e335f3bccb2d0131b872d248ee">deleteChannel</a>(int32 channel)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#f56b902ff4e463f885b2fbc97de36eb8">deleteCoreMsgs</a>()</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#afd074d8a2a2f95414c2c1960c2527fb">deleteRecord</a>(uint16 recID)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a></td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#3b11aa0df3bc2e66755054307cedf2fa">lock</a>()</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memberCount</b> (defined in <a class="el" href="classNe7sshError.html">Ne7sshError</a>)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mut</b> (defined in <a class="el" href="classNe7sshError.html">Ne7sshError</a>)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#98192346f46ec8c74ff27cb1f5ff1fb7">Ne7sshError</a>()</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#3125b664de91952b9336f4fe1789ebcc">pop</a>()</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#fdc5c70fe790fbcbf2f34189ebd63509">pop</a>(int32 channel)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>popedErr</b> (defined in <a class="el" href="classNe7sshError.html">Ne7sshError</a>)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#c1864f802fdd6d2375e4ffad23fa7875">push</a>(int32 channel, const char *format,...)</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#932684048dc2793a350a1bd25160fb3c">unlock</a>()</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td><code> [private, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshError.html#8b95b91913fab0429704043c215863fa">~Ne7sshError</a>()</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError.html
deleted file mode 100644
index e8dcc654b44..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError.html
+++ /dev/null
@@ -1,375 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7sshError Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshError Class Reference</h1><!-- doxytag: class="Ne7sshError" --><code>#include &lt;<a class="el" href="ne7ssh__error_8h_source.html">ne7ssh_error.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for Ne7sshError:</div>
-<div class="dynsection">
-<p><center><img src="classNe7sshError__coll__graph.png" border="0" usemap="#Ne7sshError__coll__map" alt="Collaboration graph"></center>
-<map name="Ne7sshError__coll__map">
-<area shape="rect" href="structNe7sshError_1_1Error.html" title="Ne7sshError::Error" alt="" coords="5,7,144,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classNe7sshError-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structNe7sshError_1_1Error.html">Error</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#98192346f46ec8c74ff27cb1f5ff1fb7">Ne7sshError</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#8b95b91913fab0429704043c215863fa">~Ne7sshError</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#c1864f802fdd6d2375e4ffad23fa7875">push</a> (int32 channel, const char *format,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#3125b664de91952b9336f4fe1789ebcc">pop</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#fdc5c70fe790fbcbf2f34189ebd63509">pop</a> (int32 channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#f56b902ff4e463f885b2fbc97de36eb8">deleteCoreMsgs</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#01a085e335f3bccb2d0131b872d248ee">deleteChannel</a> (int32 channel)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#afd074d8a2a2f95414c2c1960c2527fb">deleteRecord</a> (uint16 recID)</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#3b11aa0df3bc2e66755054307cedf2fa">lock</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#932684048dc2793a350a1bd25160fb3c">unlock</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f2533e884ce7169f122df0064a1f4a6"></a><!-- doxytag: member="Ne7sshError::memberCount" ref="2f2533e884ce7169f122df0064a1f4a6" args="" -->
-uint16&nbsp;</td><td class="memItemRight" valign="bottom"><b>memberCount</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68b548cdc1d8bba9e2a3a7c8f2c0c985"></a><!-- doxytag: member="Ne7sshError::popedErr" ref="68b548cdc1d8bba9e2a3a7c8f2c0c985" args="[MAX_ERROR_LEN+1]" -->
-char&nbsp;</td><td class="memItemRight" valign="bottom"><b>popedErr</b> [MAX_ERROR_LEN+1]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b2527d354d7debeaa7a2d0c9f0f3ad7"></a><!-- doxytag: member="Ne7sshError::mut" ref="5b2527d354d7debeaa7a2d0c9f0f3ad7" args="" -->
-static Ne7ssh_Mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>mut</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas &lt;<a href="mailto:andrew@netsieben.com">andrew@netsieben.com</a>&gt; </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="98192346f46ec8c74ff27cb1f5ff1fb7"></a><!-- doxytag: member="Ne7sshError::Ne7sshError" ref="98192346f46ec8c74ff27cb1f5ff1fb7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshError::Ne7sshError           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classNe7sshError.html">Ne7sshError</a> constructor. 
-</div>
-</div><p>
-<a class="anchor" name="8b95b91913fab0429704043c215863fa"></a><!-- doxytag: member="Ne7sshError::~Ne7sshError" ref="8b95b91913fab0429704043c215863fa" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshError::~Ne7sshError           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classNe7sshError.html">Ne7sshError</a> destructor. 
-<p>References <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="01a085e335f3bccb2d0131b872d248ee"></a><!-- doxytag: member="Ne7sshError::deleteChannel" ref="01a085e335f3bccb2d0131b872d248ee" args="(int32 channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshError::deleteChannel           </td>
-          <td>(</td>
-          <td class="paramtype">int32&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes all error messages within Channel context from the stack. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Specifies the channel error message was bound to. This is <a class="el" href="classne7ssh.html">ne7ssh</a> library channel, not the receive or send channels used by the transport layer. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on succes, false on failure. </dd></dl>
-
-<p>References <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00245">lock()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00259">unlock()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00472">ne7ssh::close()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00220">deleteCoreMsgs()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f56b902ff4e463f885b2fbc97de36eb8"></a><!-- doxytag: member="Ne7sshError::deleteCoreMsgs" ref="f56b902ff4e463f885b2fbc97de36eb8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshError::deleteCoreMsgs           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes all error messages within Core context from the stack. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success, false on failure. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__error_8cpp_source.html#l00225">deleteChannel()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="afd074d8a2a2f95414c2c1960c2527fb"></a><!-- doxytag: member="Ne7sshError::deleteRecord" ref="afd074d8a2a2f95414c2c1960c2527fb" args="(uint16 recID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshError::deleteRecord           </td>
-          <td>(</td>
-          <td class="paramtype">uint16&nbsp;</td>
-          <td class="paramname"> <em>recID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Delete a single error message. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>recID</em>&nbsp;</td><td>Position within the array. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success, false on failure. </dd></dl>
-
-<p>References <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__error_8cpp_source.html#l00163">pop()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3b11aa0df3bc2e66755054307cedf2fa"></a><!-- doxytag: member="Ne7sshError::lock" ref="3b11aa0df3bc2e66755054307cedf2fa" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshError::lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [static, private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Lock the mutex. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if lock aquired. Oterwise false. </dd></dl>
-
-<p>
-FIXME possible infinite loop 
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__error_8cpp_source.html#l00225">deleteChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00163">pop()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">push()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fdc5c70fe790fbcbf2f34189ebd63509"></a><!-- doxytag: member="Ne7sshError::pop" ref="fdc5c70fe790fbcbf2f34189ebd63509" args="(int32 channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * Ne7sshError::pop           </td>
-          <td>(</td>
-          <td class="paramtype">int32&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pops an error message from the Channel context. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Specifies the channel error message was bound to. This is <a class="el" href="classne7ssh.html">ne7ssh</a> library channel, not the receive or send channels used by the transport layer. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The last error message in the Channel context. The message is removed from the stack. Returns null if no there are no erros in the Channel context. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__error_8cpp_source.html#l00203">deleteRecord()</a>, <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00245">lock()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00259">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3125b664de91952b9336f4fe1789ebcc"></a><!-- doxytag: member="Ne7sshError::pop" ref="3125b664de91952b9336f4fe1789ebcc" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * Ne7sshError::pop           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pops an error message from the Core context. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The last error message in the Core context. The message is removed from the stack. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="c1864f802fdd6d2375e4ffad23fa7875"></a><!-- doxytag: member="Ne7sshError::push" ref="c1864f802fdd6d2375e4ffad23fa7875" args="(int32 channel, const char *format,...)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshError::push           </td>
-          <td>(</td>
-          <td class="paramtype">int32&nbsp;</td>
-          <td class="paramname"> <em>channel</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>format</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">&nbsp;</td>
-          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pushes a new error message into the stack. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Specifies the channel to bind the error message to. This is <a class="el" href="classne7ssh.html">ne7ssh</a> library channel, not the receive or send channels used by the transport layer. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Specifies the error message followed by argument in printf format. The following formatting characters are supported: s,d,i,l,x. Modifier u can be used together with decimal to specify an unsigned variable. Returns null if no there are no erros in the Core context. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success, false on failure. </dd></dl>
-
-<p>References <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">ErrorBuffer</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00245">lock()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00259">unlock()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__string_8cpp_source.html#l00057">ne7ssh_string::addFile()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">ne7ssh_connection::checkRemoteVersion()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00472">ne7ssh::close()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">Ne7sshSftp::closeFile()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="crypt_8cpp_source.html#l00300">ne7ssh_crypt::computeH()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00293">ne7ssh::connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">ne7ssh::connectWithPassword()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00807">Ne7SftpSubsystem::errorNotInited()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00059">ne7ssh_transport::establish()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00157">ne7ssh_keys::generateDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00726">ne7ssh::generateKeyPair()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00037">ne7ssh_keys::generateRSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">ne7ssh_keys::generateRSASignature()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">Ne7sshSftp::get()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00639">ne7ssh::getChannelNo()</a>, <a class="el" href="crypt_8cpp_source.html#l00500">ne7ssh_crypt::getCryptAlgo()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00427">ne7ssh_keys::getDSAKeys()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">Ne7sshSftp::getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">Ne7sshSftp::getFileHandle()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00742">Ne7sshSftp::getFileSize()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">Ne7sshSftp::getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">Ne7sshSftp::getFStat()</a>, <a class="el" href="crypt_8cpp_source.html#l00486">ne7ssh_crypt::getHashAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00531">ne7ssh_crypt::getHmacAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00284">ne7ssh_crypt::getKexPublic()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">ne7ssh_keys::getKeyPairFromFile()</a>, <a class="el" href="crypt_8cpp_source.html#l00550">ne7ssh_crypt::getMacKeyLen()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00500">ne7ssh_keys::getRSAKeys()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00124">ne7ssh_channel::handleDisconnect()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00102">ne7ssh_channel::handleEof()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">ne7ssh_channel::handleExtendedData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">ne7ssh_channel::handleRequest()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">Ne7sshSftp::handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00249">Ne7sshSftp::handleStatus()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00232">Ne7sshSftp::handleVersion()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00364">ne7ssh::initSftp()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">Ne7sshSftp::isType()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00245">lock()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">ne7ssh::lock()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00063">ne7ssh::ne7ssh()</a>, <a class="el" href="crypt_8cpp_source.html#l00250">ne7ssh_crypt::negotiatedCmprsC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00267">ne7ssh_crypt::negotiatedCmprsS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00122">ne7ssh_crypt::negotiatedCryptoC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00164">ne7ssh_crypt::negotiatedCryptoS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00105">ne7ssh_crypt::negotiatedHostkey()</a>, <a class="el" href="crypt_8cpp_source.html#l00088">ne7ssh_crypt::negotiatedKex()</a>, <a class="el" href="crypt_8cpp_source.html#l00206">ne7ssh_crypt::negotiatedMacC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00228">ne7ssh_crypt::negotiatedMacS2c()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00129">ne7ssh_transport::NoBlock()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">Ne7sshSftp::put()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00556">ne7ssh::read()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00583">ne7ssh::readBinary()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">Ne7sshSftp::readFile()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00219">ne7ssh_transport::receive()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">Ne7sshSftp::receiveWindowAdjust()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00146">ne7ssh::selectThread()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00195">ne7ssh_transport::send()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00345">ne7ssh::send()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00395">ne7ssh::sendCmd()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00302">ne7ssh_connection::startSftp()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00259">unlock()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00702">ne7ssh::unlock()</a>, <a class="el" href="crypt_8cpp_source.html#l00323">ne7ssh_crypt::verifySig()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00496">ne7ssh::waitFor()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">Ne7sshSftp::writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="932684048dc2793a350a1bd25160fb3c"></a><!-- doxytag: member="Ne7sshError::unlock" ref="932684048dc2793a350a1bd25160fb3c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshError::unlock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [static, private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Unlock the mutext. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the mutext successfully unlocked. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__error_8cpp_source.html#l00225">deleteChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00163">pop()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">push()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="2fac26f48bbb447ce6edc1d37f8c8157"></a><!-- doxytag: member="Ne7sshError::ErrorBuffer" ref="2fac26f48bbb447ce6edc1d37f8c8157" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">struct <a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a> ** <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">Ne7sshError::ErrorBuffer</a><code> [private]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Structure for storing error messages. 
-<p>Referenced by <a class="el" href="ne7ssh__error_8cpp_source.html#l00225">deleteChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00203">deleteRecord()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00163">pop()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">push()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00029">~Ne7sshError()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__error_8h_source.html">ne7ssh_error.h</a><li>ne7ssh_error.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.map
deleted file mode 100644
index f46ec445b1f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$structNe7sshError_1_1Error.html" title="Ne7sshError::Error" alt="" coords="5,7,144,33">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.md5
deleted file mode 100644
index 1b4476ec8bf..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshError__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-59fecf6fac000bbe159906d2497191a5
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp-members.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp-members.html
deleted file mode 100644
index a5b7df92978..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp-members.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftp Member List</h1>This is the complete list of members for <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#163fe473cdd37cb441b11391ecfe3de2">addOpenHandle</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#a2d5379bfc1884c3f12bd024bdb0ca9a">adjustRecvWindow</a>(int bufferSize)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>APPEND</b> enum value (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>attrs</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#dfec287ad5e1a05a9ec5974e51765635">cd</a>(const char *remoteDir)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>channelOpened</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#a94a84d20f5e691d25c8d2c0c46d9f0d">chmod</a>(const char *remoteFile, const char *mode)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#577bc8eb8c066bb20e81a12284486500">chown</a>(const char *remoteFile, uint32 uid, uint32 gid=0)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#47e7320f6168686934b63a7372be657c">closeFile</a>(uint32 fileID)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>commBuffer</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>currentPath</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">data2Send</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#1037fa89c4b81050b98209cc89e32188">execCmd</a>(const char *cmd)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>fileBuffer</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#8744277dfd50bdc8f703db057bc8229c">get</a>(const char *remoteFile, FILE *localFile)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">getCmdComplete</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#691f12f078d4483ef665474489ed3d5e">getFileAttrs</a>(sftpFileAttrs &amp;attributes, Botan::SecureVector&lt; Botan::byte &gt; &amp;remoteFile, bool followSymLinks=true)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#0c8f36275e7951e8f3c7919df80646ae">getFileAttrs</a>(Ne7SftpSubsystem::fileAttrs &amp;attributes, const char *remoteFile, bool followSymLinks=true)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#abbc88e8a61db941f4497539dda1e941">getFileHandle</a>(uint32 fileID)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#d3bc3ac09658a39a4fd7b5db7dcdaa4b">getFileSize</a>(uint32 fileID)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#0472f6b8ead7dff51b02019d295f4074">getFileStats</a>(const char *remoteFile, bool followSymLinks=true)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#2ee78de5897e00e1390834f165ea8b0e">getFStat</a>(uint32 fileID)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#deb660f5da985539b30f156c02d39fdf">getFullPath</a>(const char *filename)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">getReceived</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">getRecvWindow</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">getSendWindow</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#08d6085ea4493092d483819cde904ef5">getShell</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#e85f889433d08962712780e4d9d5bfcc">handleData</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#c78f7cc8215312df81b56c3e46c799ad">handleNames</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#4cfe1bda6308751f6f89612b6ea6e5b8">handleReceived</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;_packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#ff314ae7f9ba0166f1a2809fd87774c5">handleSftpData</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#00a190fb28dba3ff1232168d3362bdd0">handleStatus</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#5d39897335efc1771e6f10711028b5db">handleVersion</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#e857080aba0bbcf6b1599e3d586010b8">init</a>()</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#59b34ba51b2cd851777a4303e0aa0867">isDir</a>(const char *remoteFile)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#91d287ebd0152a37b72fd8a61942f099">isFile</a>(const char *remoteFile)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">isOpen</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">isRemoteShell</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#6664675a3ac0b9841eeee451e089747b">isType</a>(const char *remoteFile, uint32 type)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>lastError</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#b6899910533f6f09c5a0322549e71367">ls</a>(const char *remoteDir, bool longNames=false)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#55e47dfc93a93d7b7b19e938eb4042ca">mkdir</a>(const char *remoteDir)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#24ba4bf55763a6eb9457e9522b3ce986">mv</a>(const char *oldFile, const char *newFile)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#2ca4770827c460ade71f4f64e14c78d9">ne7ssh_channel</a>(ne7ssh_session *_session)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#1ccf95ce0c82fc811a5357c5bd97c47a">Ne7sshSftp</a>(ne7ssh_session *_session, ne7ssh_channel *_channel)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#d744609a8a3ee9c204eabfb87343808d">open</a>(uint32 channelID)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#4450ac43a6a9d682933d529c60025680">openDir</a>(const char *dirname)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile</a>(const char *filename, uint8 shortMode)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>OVERWRITE</b> enum value (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#ca25876efc6fc9c6d0f6a45b7f66aa13">processAttrs</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#aeacc2f7540067dd82cf04c78da5ee42">put</a>(FILE *localFile, const char *remoteFile)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>READ</b> enum value (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#fee9fa39f3ec886f9254c379b820b0ba">readFile</a>(uint32 fileID, uint64 offset=0)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#450654cc1a212b348b7ccadd5d83e4df">receive</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#54c29781531b3faa940c5285e7e1a094">receiveUntil</a>(short _cmd, uint32 timeSec=0)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#9728a4a0c2f63f9b5354bc1998057b21">receiveWhile</a>(short _cmd, uint32 timeSec=0)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#95b06a2af672b770eeccf32f9bf27f44">receiveWindowAdjust</a>()</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#7016d759690e078aa3be651bafc5b84b">rm</a>(const char *remoteFile)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#17021eaaf1224e74a052ef4ed40864ec">rmdir</a>(const char *remoteDir)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#959a7e3dc6162e4a7c3a30470728b835">sendAdjustWindow</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">sendAll</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#96400430e7b338389aab85a04ea9921e">sendClose</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#5a4bed6a381e7c2521995015272ebb8b">sendEof</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>seq</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>session</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#991bfa710d93c4fba67bb810f1068676">setTimeout</a>(uint32 _timeout)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sftpCmd</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sftpFiles</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sftpFilesCount</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>timeout</b> (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>windowRecv</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>windowSend</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#8154fdfcc75f63d71f6d4ebe29155590">write</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;data)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#6fd55afdebec6ece8af2d5524dc2e5a0">writeFile</a>(uint32 fileID, const uint8 *data, uint32 len, uint64 offset=0)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>writeMode</b> enum name (defined in <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>)</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#59b4a174d73ee8cbdec676f6cbe69c5b">~ne7ssh_channel</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftp.html#1d4bcdec50d428aa32c6c94919502dae">~Ne7sshSftp</a>()</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp.html
deleted file mode 100644
index dcb580358da..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp.html
+++ /dev/null
@@ -1,1516 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7sshSftp Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftp Class Reference</h1><!-- doxytag: class="Ne7sshSftp" --><!-- doxytag: inherits="ne7ssh_channel" --><code>#include &lt;<a class="el" href="ne7ssh__sftp_8h_source.html">ne7ssh_sftp.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for Ne7sshSftp:</div>
-<div class="dynsection">
-<p><center><img src="classNe7sshSftp__inherit__graph.png" border="0" usemap="#Ne7sshSftp__inherit__map" alt="Inheritance graph"></center>
-<map name="Ne7sshSftp__inherit__map">
-<area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="5,7,128,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-<div class="dynheader">
-Collaboration diagram for Ne7sshSftp:</div>
-<div class="dynsection">
-<p><center><img src="classNe7sshSftp__coll__graph.png" border="0" usemap="#Ne7sshSftp__coll__map" alt="Collaboration graph"></center>
-<map name="Ne7sshSftp__coll__map">
-<area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="293,95,416,121"><area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="12,21,121,48"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="5,211,128,237"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="301,216,408,243"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="288,277,421,304"><area shape="rect" href="structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="281,328,428,355"><area shape="rect" href="structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="265,379,444,405"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classNe7sshSftp-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#1ccf95ce0c82fc811a5357c5bd97c47a">Ne7sshSftp</a> (<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *_session, <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> *_channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#1d4bcdec50d428aa32c6c94919502dae">~Ne7sshSftp</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#e857080aba0bbcf6b1599e3d586010b8">init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#991bfa710d93c4fba67bb810f1068676">setTimeout</a> (uint32 _timeout)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile</a> (const char *filename, uint8 shortMode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#4450ac43a6a9d682933d529c60025680">openDir</a> (const char *dirname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#fee9fa39f3ec886f9254c379b820b0ba">readFile</a> (uint32 fileID, uint64 offset=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#6fd55afdebec6ece8af2d5524dc2e5a0">writeFile</a> (uint32 fileID, const uint8 *data, uint32 len, uint64 offset=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#47e7320f6168686934b63a7372be657c">closeFile</a> (uint32 fileID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#0c8f36275e7951e8f3c7919df80646ae">getFileAttrs</a> (<a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a> &amp;attributes, const char *remoteFile, bool followSymLinks=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#91d287ebd0152a37b72fd8a61942f099">isFile</a> (const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#59b34ba51b2cd851777a4303e0aa0867">isDir</a> (const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#8744277dfd50bdc8f703db057bc8229c">get</a> (const char *remoteFile, FILE *localFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#aeacc2f7540067dd82cf04c78da5ee42">put</a> (FILE *localFile, const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#7016d759690e078aa3be651bafc5b84b">rm</a> (const char *remoteFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#24ba4bf55763a6eb9457e9522b3ce986">mv</a> (const char *oldFile, const char *newFile)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#55e47dfc93a93d7b7b19e938eb4042ca">mkdir</a> (const char *remoteDir)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#17021eaaf1224e74a052ef4ed40864ec">rmdir</a> (const char *remoteDir)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#b6899910533f6f09c5a0322549e71367">ls</a> (const char *remoteDir, bool longNames=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#dfec287ad5e1a05a9ec5974e51765635">cd</a> (const char *remoteDir)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#a94a84d20f5e691d25c8d2c0c46d9f0d">chmod</a> (const char *remoteFile, const char *mode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#577bc8eb8c066bb20e81a12284486500">chown</a> (const char *remoteFile, uint32 uid, uint32 gid=0)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>writeMode</b> { <b>READ</b>, 
-<b>OVERWRITE</b>, 
-<b>APPEND</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#e85f889433d08962712780e4d9d5bfcc">handleData</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#5d39897335efc1771e6f10711028b5db">handleVersion</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#00a190fb28dba3ff1232168d3362bdd0">handleStatus</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#163fe473cdd37cb441b11391ecfe3de2">addOpenHandle</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#ff314ae7f9ba0166f1a2809fd87774c5">handleSftpData</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#c78f7cc8215312df81b56c3e46c799ad">handleNames</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#abbc88e8a61db941f4497539dda1e941">getFileHandle</a> (uint32 fileID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#54c29781531b3faa940c5285e7e1a094">receiveUntil</a> (short _cmd, uint32 timeSec=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#9728a4a0c2f63f9b5354bc1998057b21">receiveWhile</a> (short _cmd, uint32 timeSec=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#ca25876efc6fc9c6d0f6a45b7f66aa13">processAttrs</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#0472f6b8ead7dff51b02019d295f4074">getFileStats</a> (const char *remoteFile, bool followSymLinks=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#691f12f078d4483ef665474489ed3d5e">getFileAttrs</a> (<a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a> &amp;attributes, Botan::SecureVector&lt; Botan::byte &gt; &amp;remoteFile, bool followSymLinks=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#2ee78de5897e00e1390834f165ea8b0e">getFStat</a> (uint32 fileID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#d3bc3ac09658a39a4fd7b5db7dcdaa4b">getFileSize</a> (uint32 fileID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#95b06a2af672b770eeccf32f9bf27f44">receiveWindowAdjust</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#deb660f5da985539b30f156c02d39fdf">getFullPath</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftp.html#6664675a3ac0b9841eeee451e089747b">isType</a> (const char *remoteFile, uint32 type)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59abcdd8fea0a9bec3fe0d248b14a6e0"></a><!-- doxytag: member="Ne7sshSftp::session" ref="59abcdd8fea0a9bec3fe0d248b14a6e0" args="" -->
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>session</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8735afd082a7ee223d87dd074bc24c3"></a><!-- doxytag: member="Ne7sshSftp::timeout" ref="d8735afd082a7ee223d87dd074bc24c3" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>timeout</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b28daad294927d85034da912bf995d79"></a><!-- doxytag: member="Ne7sshSftp::seq" ref="b28daad294927d85034da912bf995d79" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>seq</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d81fede7b50f75c232b1dda7b8ea0ab"></a><!-- doxytag: member="Ne7sshSftp::sftpCmd" ref="9d81fede7b50f75c232b1dda7b8ea0ab" args="" -->
-uint8&nbsp;</td><td class="memItemRight" valign="bottom"><b>sftpCmd</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1abca1bca13faa621c3aa9ae0f09f632"></a><!-- doxytag: member="Ne7sshSftp::commBuffer" ref="1abca1bca13faa621c3aa9ae0f09f632" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>commBuffer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fadc1387f51c815b63b7ec1d3321735d"></a><!-- doxytag: member="Ne7sshSftp::fileBuffer" ref="fadc1387f51c815b63b7ec1d3321735d" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>fileBuffer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e047ae52ec69d0afd2dc39e893c1fb57"></a><!-- doxytag: member="Ne7sshSftp::lastError" ref="e047ae52ec69d0afd2dc39e893c1fb57" args="" -->
-uint8&nbsp;</td><td class="memItemRight" valign="bottom"><b>lastError</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6f06287b43daf1df0bd7b307aa1407a"></a><!-- doxytag: member="Ne7sshSftp::currentPath" ref="e6f06287b43daf1df0bd7b307aa1407a" args="" -->
-char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>currentPath</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2dee37a05491eedcddfca4fdc6bdf509"></a><!-- doxytag: member="Ne7sshSftp::attrs" ref="2dee37a05491eedcddfca4fdc6bdf509" args="" -->
-<a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>attrs</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27c2a497b5fff8ba19db4eb2c7ec29cd"></a><!-- doxytag: member="Ne7sshSftp::sftpFiles" ref="27c2a497b5fff8ba19db4eb2c7ec29cd" args="" -->
-<a class="el" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><b>sftpFiles</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21b1a5aa4a578b603b4274de22789e78"></a><!-- doxytag: member="Ne7sshSftp::sftpFilesCount" ref="21b1a5aa4a578b603b4274de22789e78" args="" -->
-uint16&nbsp;</td><td class="memItemRight" valign="bottom"><b>sftpFilesCount</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas &lt;<a href="mailto:andrew@netsieben.com">andrew@netsieben.com</a>&gt; </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="1ccf95ce0c82fc811a5357c5bd97c47a"></a><!-- doxytag: member="Ne7sshSftp::Ne7sshSftp" ref="1ccf95ce0c82fc811a5357c5bd97c47a" args="(ne7ssh_session *_session, ne7ssh_channel *_channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshSftp::Ne7sshSftp           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td>
-          <td class="paramname"> <em>_session</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> *&nbsp;</td>
-          <td class="paramname"> <em>_channel</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_session</em>&nbsp;</td><td>Pointer to connections session data. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>_channel</em>&nbsp;</td><td>Pointer to the <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> instance, taken from the new <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> instance. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8h_source.html#l00216">ne7ssh_channel::getRecvWindow()</a>, and <a class="el" href="ne7ssh__channel_8h_source.html#l00222">ne7ssh_channel::getSendWindow()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1d4bcdec50d428aa32c6c94919502dae"></a><!-- doxytag: member="Ne7sshSftp::~Ne7sshSftp" ref="1d4bcdec50d428aa32c6c94919502dae" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshSftp::~Ne7sshSftp           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Default destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="163fe473cdd37cb441b11391ecfe3de2"></a><!-- doxytag: member="Ne7sshSftp::addOpenHandle" ref="163fe473cdd37cb441b11391ecfe3de2" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::addOpenHandle           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Method to add a new file to sftpFiles variable from the HANDLE packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>HANDLE packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if processing successful, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, and <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="dfec287ad5e1a05a9ec5974e51765635"></a><!-- doxytag: member="Ne7sshSftp::cd" ref="dfec287ad5e1a05a9ec5974e51765635" args="(const char *remoteDir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::cd           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to change the current working directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to the new working directory on the remote server. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if change of directory succedded. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00865">Ne7SftpSubsystem::cd()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a94a84d20f5e691d25c8d2c0c46d9f0d"></a><!-- doxytag: member="Ne7sshSftp::chmod" ref="a94a84d20f5e691d25c8d2c0c46d9f0d" args="(const char *remoteFile, const char *mode)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::chmod           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used for changing the permissions associated with a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>Mode string. It can be wither a numerical mode expression such as "755" or an expression showing the modifications to be made, such as "ug+w". Mode string is the same as used by *nix chmod command. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the new permissions are succesfully applied to the remote file. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00779">getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00871">Ne7SftpSubsystem::chmod()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="577bc8eb8c066bb20e81a12284486500"></a><!-- doxytag: member="Ne7sshSftp::chown" ref="577bc8eb8c066bb20e81a12284486500" args="(const char *remoteFile, uint32 uid, uint32 gid=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::chown           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>uid</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>gid</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to change the owner of a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>uid</em>&nbsp;</td><td>Numerical new owner user ID. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>gid</em>&nbsp;</td><td>Numerical new owner group ID. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the change of ownership succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00779">getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00877">Ne7SftpSubsystem::chown()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="47e7320f6168686934b63a7372be657c"></a><!-- doxytag: member="Ne7sshSftp::closeFile" ref="47e7320f6168686934b63a7372be657c" args="(uint32 fileID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::closeFile           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to close a file opened using <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile()</a> method. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID returned by <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile()</a> method. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True on success. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">getFileHandle()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">receiveUntil()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00801">Ne7SftpSubsystem::closeFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">get()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">ls()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">put()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8744277dfd50bdc8f703db057bc8229c"></a><!-- doxytag: member="Ne7sshSftp::get" ref="8744277dfd50bdc8f703db057bc8229c" args="(const char *remoteFile, FILE *localFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::get           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">FILE *&nbsp;</td>
-          <td class="paramname"> <em>localFile</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to retrieve a remote file and dump it into local file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the file on the remote side. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>localFile</em>&nbsp;</td><td>Pointer to the FILE structure. If the file being retrieved is binary, use "w+" attributes in fopen function. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if getting the file is succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">closeFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00742">getFileSize()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">openFile()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">readFile()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00819">Ne7SftpSubsystem::get()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0c8f36275e7951e8f3c7919df80646ae"></a><!-- doxytag: member="Ne7sshSftp::getFileAttrs" ref="0c8f36275e7951e8f3c7919df80646ae" args="(Ne7SftpSubsystem::fileAttrs &amp;attributes, const char *remoteFile, bool followSymLinks=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::getFileAttrs           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>attributes</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>followSymLinks</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to retrieve remote file attributes and place them into fileAttrs structure. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>attributes</em>&nbsp;</td><td>Reference to fileAttrs structure where retrieved attributes should be placed. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Name of the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>followSymLinks</em>&nbsp;</td><td>If this variable is set to true, symbolic links will be followed. That is the default befavour. If this behavour is undesired, pass "false". </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the attributes successfully retrieved. Otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="691f12f078d4483ef665474489ed3d5e"></a><!-- doxytag: member="Ne7sshSftp::getFileAttrs" ref="691f12f078d4483ef665474489ed3d5e" args="(sftpFileAttrs &amp;attributes, Botan::SecureVector&lt; Botan::byte &gt; &amp;remoteFile, bool followSymLinks=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::getFileAttrs           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>attributes</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>followSymLinks</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Gets attributes of a remote file and dumps them into sfptFileAtts structure. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>attributes</em>&nbsp;</td><td>reference to <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a> structure where the result will be stored. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to a remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>followSymLinks</em>&nbsp;</td><td>If set to true symbolic links will be followed. That is the default behavior. If following symbolic links is undesired set to "false". </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the attributes successfully received. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">getFileStats()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">chown()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00813">Ne7SftpSubsystem::getFileAttrs()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="abbc88e8a61db941f4497539dda1e941"></a><!-- doxytag: member="Ne7sshSftp::getFileHandle" ref="abbc88e8a61db941f4497539dda1e941" args="(uint32 fileID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a> * Ne7sshSftp::getFileHandle           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to get a pointer to currently open file stored in <a class="el" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a> structure. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID, received from fileOpen() method. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a pointer to <a class="el" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a> structyure containing opened file or directory. If file specified by fileID has not been opened, NULL is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">closeFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">getFStat()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">readFile()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d3bc3ac09658a39a4fd7b5db7dcdaa4b"></a><!-- doxytag: member="Ne7sshSftp::getFileSize" ref="d3bc3ac09658a39a4fd7b5db7dcdaa4b" args="(uint32 fileID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64 Ne7sshSftp::getFileSize           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This methods returnes the size of an open file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID, returned by the <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile()</a> method. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The size of the remote file. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">getFStat()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">get()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0472f6b8ead7dff51b02019d295f4074"></a><!-- doxytag: member="Ne7sshSftp::getFileStats" ref="0472f6b8ead7dff51b02019d295f4074" args="(const char *remoteFile, bool followSymLinks=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::getFileStats           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>followSymLinks</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method to request file attributes. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to a remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>followSymLinks</em>&nbsp;</td><td>If set to true symbolic links will be followed. That is the default behavior. If following symbolic links is undesired set to "false". </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the request succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">getFileAttrs()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">isType()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2ee78de5897e00e1390834f165ea8b0e"></a><!-- doxytag: member="Ne7sshSftp::getFStat" ref="2ee78de5897e00e1390834f165ea8b0e" args="(uint32 fileID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::getFStat           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Works like <a class="el" href="classNe7sshSftp.html#0472f6b8ead7dff51b02019d295f4074">getFileStats()</a> method, except that it operates on a handle of already opened file instead of path. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID, returned by the <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile()</a> method. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the request succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">getFileHandle()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00742">getFileSize()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="deb660f5da985539b30f156c02d39fdf"></a><!-- doxytag: member="Ne7sshSftp::getFullPath" ref="deb660f5da985539b30f156c02d39fdf" args="(const char *filename)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classne7ssh__string.html">ne7ssh_string</a> Ne7sshSftp::getFullPath           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>filename</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns full path to a file or directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Relative path to a remote file or directory. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classne7ssh__string.html">ne7ssh_string</a> class containing full path to the remote file or directory. The class will contain an empty string on error. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">cd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">chown()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">isType()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">mv()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">openFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">rm()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">rmdir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e85f889433d08962712780e4d9d5bfcc"></a><!-- doxytag: member="Ne7sshSftp::handleData" ref="e85f889433d08962712780e4d9d5bfcc" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::handleData           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Replacement for <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> handleData method. Processes SFTP specific packets. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to the newly received packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if data successfully processed. False on any error. </dd></dl>
-
-<p>Reimplemented from <a class="el" href="classne7ssh__channel.html#5752552709e47b3693b393be19f69139">ne7ssh_channel</a>.</p>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00270">addOpenHandle()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00446">ne7ssh_channel::adjustRecvWindow()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00159">ne7ssh_string::getByte()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">handleNames()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00249">handleStatus()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00232">handleVersion()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00362">processAttrs()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c78f7cc8215312df81b56c3e46c799ad"></a><!-- doxytag: member="Ne7sshSftp::handleNames" ref="c78f7cc8215312df81b56c3e46c799ad" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::handleNames           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Method to process NAME packets. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>NAME packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if processing successful, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00097">Ne7sshSftpPacket::getInt64()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ff314ae7f9ba0166f1a2809fd87774c5"></a><!-- doxytag: member="Ne7sshSftp::handleSftpData" ref="ff314ae7f9ba0166f1a2809fd87774c5" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::handleSftpData           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Method to process DATA packets. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>DATA packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if processing successful, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="00a190fb28dba3ff1232168d3362bdd0"></a><!-- doxytag: member="Ne7sshSftp::handleStatus" ref="00a190fb28dba3ff1232168d3362bdd0" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::handleStatus           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Processes the STATUS packet received from the server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>STATUS packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if processing successful, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="5d39897335efc1771e6f10711028b5db"></a><!-- doxytag: member="Ne7sshSftp::handleVersion" ref="5d39897335efc1771e6f10711028b5db" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::handleVersion           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Processes the VERSION packet received from the server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>VERSION packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if processing successful, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e857080aba0bbcf6b1599e3d586010b8"></a><!-- doxytag: member="Ne7sshSftp::init" ref="e857080aba0bbcf6b1599e3d586010b8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::init           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Initializes SFTP subsystem. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the subsystem successfully initialized. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">receiveUntil()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00302">ne7ssh_connection::startSftp()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="59b34ba51b2cd851777a4303e0aa0867"></a><!-- doxytag: member="Ne7sshSftp::isDir" ref="59b34ba51b2cd851777a4303e0aa0867" args="(const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::isDir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to determine if a remote inode is a directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote file. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the remote inode is a directory. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">isType()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00889">Ne7SftpSubsystem::isDir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="91d287ebd0152a37b72fd8a61942f099"></a><!-- doxytag: member="Ne7sshSftp::isFile" ref="91d287ebd0152a37b72fd8a61942f099" args="(const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::isFile           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to determine if a remote inode is a regular file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the remote inode. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the remote inode is a regular file. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">isType()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00883">Ne7SftpSubsystem::isFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6664675a3ac0b9841eeee451e089747b"></a><!-- doxytag: member="Ne7sshSftp::isType" ref="6664675a3ac0b9841eeee451e089747b" args="(const char *remoteFile, uint32 type)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::isType           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Determines the type of a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Relative or full path to the remote file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>Type, taken from sys/stat.h. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if file is of specified type. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00824">isDir()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00819">isFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b6899910533f6f09c5a0322549e71367"></a><!-- doxytag: member="Ne7sshSftp::ls" ref="b6899910533f6f09c5a0322549e71367" args="(const char *remoteDir, bool longNames=false)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * Ne7sshSftp::ls           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>longNames</em> = <code>false</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This methods is used retrieve a listing of a remote directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to a directory. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>longNames</em>&nbsp;</td><td>If set to "true" the returned string in addition to file strings will contain attributes for each file. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to a string containing the directory listing. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">closeFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">getFileHandle()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">openDir()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00855">Ne7SftpSubsystem::ls()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="55e47dfc93a93d7b7b19e938eb4042ca"></a><!-- doxytag: member="Ne7sshSftp::mkdir" ref="55e47dfc93a93d7b7b19e938eb4042ca" args="(const char *remoteDir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::mkdir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to create a new directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to a new directory on the remote server. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the directory successfully created. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00843">Ne7SftpSubsystem::mkdir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="24ba4bf55763a6eb9457e9522b3ce986"></a><!-- doxytag: member="Ne7sshSftp::mv" ref="24ba4bf55763a6eb9457e9522b3ce986" args="(const char *oldFile, const char *newFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::mv           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>oldFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>newFile</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to rename/move files. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>oldFile</em>&nbsp;</td><td>Full or relative path to an old file on the remote server. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>newFile</em>&nbsp;</td><td>Full or relative path to a new file on the remote side. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if renaming successfull. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00837">Ne7SftpSubsystem::mv()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4450ac43a6a9d682933d529c60025680"></a><!-- doxytag: member="Ne7sshSftp::openDir" ref="4450ac43a6a9d682933d529c60025680" args="(const char *dirname)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 Ne7sshSftp::openDir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>dirname</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to open an inode containing file entries a.k.a directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>dirname</em>&nbsp;</td><td>Relative or full path to the inode. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Newly opened file ID or 0 if the inode could not be opened. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">receiveUntil()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">ls()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00783">Ne7SftpSubsystem::openDir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2f6b4b5c78f00017b579cbefb33ca50f"></a><!-- doxytag: member="Ne7sshSftp::openFile" ref="2f6b4b5c78f00017b579cbefb33ca50f" args="(const char *filename, uint8 shortMode)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 Ne7sshSftp::openFile           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>filename</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint8&nbsp;</td>
-          <td class="paramname"> <em>shortMode</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to open a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Relative or full path to the file. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>shortMode</em>&nbsp;</td><td>Mode to be used when opening the file. Can be one of the modes defined by writeMode class variable. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Newly opened file ID or 0 if file could not be opened. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">receiveUntil()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">get()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00777">Ne7SftpSubsystem::openFile()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">put()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ca25876efc6fc9c6d0f6a45b7f66aa13"></a><!-- doxytag: member="Ne7sshSftp::processAttrs" ref="ca25876efc6fc9c6d0f6a45b7f66aa13" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::processAttrs           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Method to process ATTRS packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>ATTRS packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if processing successful, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, and <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00097">Ne7sshSftpPacket::getInt64()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="aeacc2f7540067dd82cf04c78da5ee42"></a><!-- doxytag: member="Ne7sshSftp::put" ref="aeacc2f7540067dd82cf04c78da5ee42" args="(FILE *localFile, const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::put           </td>
-          <td>(</td>
-          <td class="paramtype">FILE *&nbsp;</td>
-          <td class="paramname"> <em>localFile</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to upload a file to a remote server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>localFile</em>&nbsp;</td><td>Pointer to the FILE structure. If the file being retrieved is binary, use "w+" attributes in fopen function. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the file on the remote side. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if putting the file succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">closeFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">openFile()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">writeFile()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00825">Ne7SftpSubsystem::put()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fee9fa39f3ec886f9254c379b820b0ba"></a><!-- doxytag: member="Ne7sshSftp::readFile" ref="fee9fa39f3ec886f9254c379b820b0ba" args="(uint32 fileID, uint64 offset=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::readFile           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64&nbsp;</td>
-          <td class="paramname"> <em>offset</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to read datablock up to the size of SFTP_MAX_MSG_SIZE from a file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID retruned by <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile()</a> method. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>Offset. 0 by default. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if file content successfully read and placed in the buffer. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">getFileHandle()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">get()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00789">Ne7SftpSubsystem::readFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="54c29781531b3faa940c5285e7e1a094"></a><!-- doxytag: member="Ne7sshSftp::receiveUntil" ref="54c29781531b3faa940c5285e7e1a094" args="(short _cmd, uint32 timeSec=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::receiveUntil           </td>
-          <td>(</td>
-          <td class="paramtype">short&nbsp;</td>
-          <td class="paramname"> <em>_cmd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>timeSec</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Receive packets until specific SFTP subsystem command is received. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_cmd</em>&nbsp;</td><td>SFTP command to wait for. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeSec</em>&nbsp;</td><td>Timeout in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the command specified has been received. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">closeFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">init()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">openFile()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9728a4a0c2f63f9b5354bc1998057b21"></a><!-- doxytag: member="Ne7sshSftp::receiveWhile" ref="9728a4a0c2f63f9b5354bc1998057b21" args="(short _cmd, uint32 timeSec=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::receiveWhile           </td>
-          <td>(</td>
-          <td class="paramtype">short&nbsp;</td>
-          <td class="paramname"> <em>_cmd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>timeSec</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Receive packets while SFTP subsystem commands received matches specified command. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_cmd</em>&nbsp;</td><td>Command to receive. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeSec</em>&nbsp;</td><td>Timeout in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if all expected data received. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">cd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">chown()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">getFStat()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">mv()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">readFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">rm()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">rmdir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="95b06a2af672b770eeccf32f9bf27f44"></a><!-- doxytag: member="Ne7sshSftp::receiveWindowAdjust" ref="95b06a2af672b770eeccf32f9bf27f44" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::receiveWindowAdjust           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to wait for an ADJUST_WINDOW packet, when the send window size is zero. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the ADJUST_WINDOW packet has been received, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7016d759690e078aa3be651bafc5b84b"></a><!-- doxytag: member="Ne7sshSftp::rm" ref="7016d759690e078aa3be651bafc5b84b" args="(const char *remoteFile)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::rm           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteFile</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to remove a file on a remote server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteFile</em>&nbsp;</td><td>Full or relative path to the file on the remote side. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if remove succeeds. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00831">Ne7SftpSubsystem::rm()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="17021eaaf1224e74a052ef4ed40864ec"></a><!-- doxytag: member="Ne7sshSftp::rmdir" ref="17021eaaf1224e74a052ef4ed40864ec" args="(const char *remoteDir)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::rmdir           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>remoteDir</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to remove a remote directory. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>remoteDir</em>&nbsp;</td><td>Full or relative path to a directory to be removed. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the directory successfully removed. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00618">getFullPath()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">receiveWhile()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00849">Ne7SftpSubsystem::rmdir()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="991bfa710d93c4fba67bb810f1068676"></a><!-- doxytag: member="Ne7sshSftp::setTimeout" ref="991bfa710d93c4fba67bb810f1068676" args="(uint32 _timeout)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void Ne7sshSftp::setTimeout           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>_timeout</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to set a timeout for all SFTP subsystem communications. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_timeout</em>&nbsp;</td><td>Timeout in seconds. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00770">Ne7SftpSubsystem::setTimeout()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6fd55afdebec6ece8af2d5524dc2e5a0"></a><!-- doxytag: member="Ne7sshSftp::writeFile" ref="6fd55afdebec6ece8af2d5524dc2e5a0" args="(uint32 fileID, const uint8 *data, uint32 len, uint64 offset=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftp::writeFile           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>fileID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const uint8 *&nbsp;</td>
-          <td class="paramname"> <em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>len</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint64&nbsp;</td>
-          <td class="paramname"> <em>offset</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Low level method used to write data-block up to the size of SFTP_MAX_MSG_SIZE to a remote file. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fileID</em>&nbsp;</td><td>File ID returned by <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile()</a> method. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to a buffer containing the data. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length of the block. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>Offset in the remote file. If offset is passed EOF the space between EOF and offset will be filled by 0x0. Variable is set to 0 by default. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if file contect successfully written. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">getFileHandle()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">receiveUntil()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">receiveWindowAdjust()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">put()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00795">Ne7SftpSubsystem::writeFile()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__sftp_8h_source.html">ne7ssh_sftp.h</a><li>ne7ssh_sftp.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket-members.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket-members.html
deleted file mode 100644
index d17712480ac..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket-members.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftpPacket Member List</h1>This is the complete list of members for <a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#477f55539eb249bda2a7c311f2639437">addBigInt</a>(const Botan::BigInt &amp;bn)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#4bf8792affeb750976e18f658eeba5ee">addBytes</a>(const Botan::byte *buff, uint32 len)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#b746c998869885e043ff1db422c8ebf5">addChar</a>(const char ch)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#2fdcd0fa8215c6ce73ec8dc61f7ae8c5">addFile</a>(const char *filename)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#387c791ce256b9a3747f654596b5945f">addInt</a>(const uint32 var)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#fa2cc71f2c697621a22c092a84d4bbbb">addInt64</a>(const uint64 var)</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#28ea3ddaf5f19c6202bd173c990ed835">addString</a>(const char *str)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#f0e0658970d00f271b5053130e294ee4">addVector</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;secvec)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#e5925806510ef106e1435640b6010bc7">addVectorField</a>(const Botan::SecureVector&lt; Botan::byte &gt; &amp;vector)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#7c1276275a551da4dc460a7f9e8884eb">bn2vector</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const Botan::BigInt &amp;bi)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>buffer</b> (defined in <a class="el" href="classne7ssh__string.html">ne7ssh_string</a>)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>channel</b> (defined in <a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a>)</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#722e2787d24d59b0432fa9a1b38f0aa2">chop</a>(uint32 nBytes)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">clear</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#f0e1783a46f61bce09daa9cbd3a1a64b">getBigInt</a>(Botan::BigInt &amp;result)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#231e8c002067934db84921f4bdc1c467">getByte</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#d7cb4926f971ecbe25a03bca59d0e6bb">getInt</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#49290c1b73cf7cfbe684555e7b125317">getInt64</a>()</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#6437d3125dd58e4d71bd0e0351a315ec">getString</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#43daa80040c6c1676f00af013fea566f">isChannelSet</a>()</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">length</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#be71d3df44c082323c12fb14ceb3b23e">ne7ssh_string</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#e4d4951b32a58f171e225194c4d0e873">ne7ssh_string</a>(const char *var, uint32 position)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a>()</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#05d7cba2934f1e6f5723e93354d9702e">Ne7sshSftpPacket</a>(int channel)</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#d859efc5bffd4d8f052d0dd60cc35f35">Ne7sshSftpPacket</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#198a4c462ea4e73314c81003f09c98bd">nextPart</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">resetParts</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#47f06a2606e6982a2741de59be7ea786">split</a>(const char token)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#a9ad7d742391e82b582bbe92d7733bac">value</a>()</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#9752d881865bf4aa3eb55ce6207a2014">valueFragment</a>(uint32 len=0)</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#0b8fd6571f6e272c199521d1badecea6">~ne7ssh_string</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classNe7sshSftpPacket.html#515d160ed0a9b6d25df767cb57fee7ab">~Ne7sshSftpPacket</a>()</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket.html b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket.html
deleted file mode 100644
index 6d3f0e2e6a9..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7sshSftpPacket Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftpPacket Class Reference</h1><!-- doxytag: class="Ne7sshSftpPacket" --><!-- doxytag: inherits="ne7ssh_string" --><code>#include &lt;<a class="el" href="ne7ssh__sftp__packet_8h_source.html">ne7ssh_sftp_packet.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for Ne7sshSftpPacket:</div>
-<div class="dynsection">
-<p><center><img src="classNe7sshSftpPacket__inherit__graph.png" border="0" usemap="#Ne7sshSftpPacket__inherit__map" alt="Inheritance graph"></center>
-<map name="Ne7sshSftpPacket__inherit__map">
-<area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="20,7,129,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-<div class="dynheader">
-Collaboration diagram for Ne7sshSftpPacket:</div>
-<div class="dynsection">
-<p><center><img src="classNe7sshSftpPacket__coll__graph.png" border="0" usemap="#Ne7sshSftpPacket__coll__map" alt="Collaboration graph"></center>
-<map name="Ne7sshSftpPacket__coll__map">
-<area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="20,7,129,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classNe7sshSftpPacket-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#05d7cba2934f1e6f5723e93354d9702e">Ne7sshSftpPacket</a> (int channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#d859efc5bffd4d8f052d0dd60cc35f35">Ne7sshSftpPacket</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#515d160ed0a9b6d25df767cb57fee7ab">~Ne7sshSftpPacket</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#a9ad7d742391e82b582bbe92d7733bac">value</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#9752d881865bf4aa3eb55ce6207a2014">valueFragment</a> (uint32 len=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#fa2cc71f2c697621a22c092a84d4bbbb">addInt64</a> (const uint64 var)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#49290c1b73cf7cfbe684555e7b125317">getInt64</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNe7sshSftpPacket.html#43daa80040c6c1676f00af013fea566f">isChannelSet</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8049fe9c640a02823af9a4171bd1ba79"></a><!-- doxytag: member="Ne7sshSftpPacket::channel" ref="8049fe9c640a02823af9a4171bd1ba79" args="" -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><b>channel</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas &lt;<a href="mailto:andrew@netsieben.com">andrew@netsieben.com</a>&gt; </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="54df2d3302fdf0e825f4ad1b616cc15c"></a><!-- doxytag: member="Ne7sshSftpPacket::Ne7sshSftpPacket" ref="54df2d3302fdf0e825f4ad1b616cc15c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshSftpPacket::Ne7sshSftpPacket           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Default constructor. 
-</div>
-</div><p>
-<a class="anchor" name="05d7cba2934f1e6f5723e93354d9702e"></a><!-- doxytag: member="Ne7sshSftpPacket::Ne7sshSftpPacket" ref="05d7cba2934f1e6f5723e93354d9702e" args="(int channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshSftpPacket::Ne7sshSftpPacket           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel ID, returned by connect methods. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="d859efc5bffd4d8f052d0dd60cc35f35"></a><!-- doxytag: member="Ne7sshSftpPacket::Ne7sshSftpPacket" ref="d859efc5bffd4d8f052d0dd60cc35f35" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshSftpPacket::Ne7sshSftpPacket           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructor. Intializes the class with packet data. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>Reference to packet data. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>Offset. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="515d160ed0a9b6d25df767cb57fee7ab"></a><!-- doxytag: member="Ne7sshSftpPacket::~Ne7sshSftpPacket" ref="515d160ed0a9b6d25df767cb57fee7ab" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Ne7sshSftpPacket::~Ne7sshSftpPacket           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Default destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="fa2cc71f2c697621a22c092a84d4bbbb"></a><!-- doxytag: member="Ne7sshSftpPacket::addInt64" ref="fa2cc71f2c697621a22c092a84d4bbbb" args="(const uint64 var)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void Ne7sshSftpPacket::addInt64           </td>
-          <td>(</td>
-          <td class="paramtype">const uint64&nbsp;</td>
-          <td class="paramname"> <em>var</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Appends 64 bit integer to the packet buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>64 bit integer. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00100">ne7ssh_string::addBytes()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="49290c1b73cf7cfbe684555e7b125317"></a><!-- doxytag: member="Ne7sshSftpPacket::getInt64" ref="49290c1b73cf7cfbe684555e7b125317" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint64 Ne7sshSftpPacket::getInt64           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieves a 64 bit integer from a packet buffer. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Unsigned 64 bit integer. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">Ne7sshSftp::handleNames()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00362">Ne7sshSftp::processAttrs()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="43daa80040c6c1676f00af013fea566f"></a><!-- doxytag: member="Ne7sshSftpPacket::isChannelSet" ref="43daa80040c6c1676f00af013fea566f" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool Ne7sshSftpPacket::isChannelSet           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if the channel ID is set in the instance. Channel ID is needed to construct a SFTP packet. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the channel ID is set. Otherwise false. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="a9ad7d742391e82b582bbe92d7733bac"></a><!-- doxytag: member="Ne7sshSftpPacket::value" ref="a9ad7d742391e82b582bbe92d7733bac" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt; Botan::byte &gt; &amp; Ne7sshSftpPacket::value           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns buffer as a vector appending the SFTP subsystem specific packet headers. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to the buffer. </dd></dl>
-
-<p>Reimplemented from <a class="el" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">ne7ssh_string</a>.</p>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9752d881865bf4aa3eb55ce6207a2014"></a><!-- doxytag: member="Ne7sshSftpPacket::valueFragment" ref="9752d881865bf4aa3eb55ce6207a2014" args="(uint32 len=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt; Botan::byte &gt; Ne7sshSftpPacket::valueFragment           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>len</em> = <code>0</code>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns buffer as a vector appending the SFTP subsystem specific packet headers, including the length in the first packet transmitted. Used in transmissions when it's necessary to split the message into multiple packets. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length to append to the first packet in the message. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to SFTP packet or empty vector on error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__sftp__packet_8h_source.html">ne7ssh_sftp_packet.h</a><li>ne7ssh_sftp_packet.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.map
deleted file mode 100644
index bd23dfcbe72..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="20,7,129,33">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.md5
deleted file mode 100644
index c5be6ab9d57..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-c1347fb4ae29dfc3c6f77685b09bf3ae
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.map
deleted file mode 100644
index bd23dfcbe72..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="20,7,129,33">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.md5
deleted file mode 100644
index c5be6ab9d57..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftpPacket__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-c1347fb4ae29dfc3c6f77685b09bf3ae
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.map
deleted file mode 100644
index f6c6d47b42b..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.map
+++ /dev/null
@@ -1,7 +0,0 @@
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="293,95,416,121">
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="12,21,121,48">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="5,211,128,237">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="301,216,408,243">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="288,277,421,304">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="281,328,428,355">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="265,379,444,405">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.md5
deleted file mode 100644
index 0daef81959c..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-a33cd3840dcce8913b78a463d6b5024b
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.map
deleted file mode 100644
index 0988ea6f45c..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="5,7,128,33">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.md5
deleted file mode 100644
index 68a0a1079f7..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classNe7sshSftp__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-ead7f3358bb2dde804b9829bd96bab56
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classes.html b/src/libs/3rdparty/net7ssh/doc/html/classes.html
deleted file mode 100644
index 94fc911372f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classes.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Alphabetical List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div><p>
-<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
-<tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structconnStruct.html">connStruct</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classNe7sshError.html">Ne7sshError</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh.html">ne7ssh</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_N">N</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div><p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh-members.html
deleted file mode 100644
index b3de987c6f5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh-members.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh.html">ne7ssh</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>allConns</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>CIPHER_ALGORITHMS</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#16651c53db2eca3e2cff3d8952828a8c">close</a>(int channel)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>COMPRESSION_ALGORITHMS</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>conCount</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>connected</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>connections</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#734f0ad906e7afbb894649785053708f">connectWithKey</a>(const char *host, const int port, const char *username, const char *privKeyFileName, bool shell=true, const int timeout=0)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#35e3342967a280c2179ed281bca333c5">connectWithPassword</a>(const char *host, const int port, const char *username, const char *password, bool shell=true, const int timeout=0)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#3f2c2aee58e1be2b9b620f7e53bfcfc5">errors</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>errs</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#1f91e811db4c6a997888696f7ff4c4f4">generateKeyPair</a>(const char *type, const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=0)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#cd7228cab037d3fc54259d7e4b18245a">getChannelNo</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#d772b5b0a9abfb7948fee9c6059ca1b7">getConnetions</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#064aab09df847060ed62953cf49f2e8f">getReceivedSize</a>(int channel, bool do_lock=true)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>HOSTKEY_ALGORITHMS</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>init</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#ba692e657f29143728adbff0468cd554">initSftp</a>(Ne7SftpSubsystem &amp;_sftp, int channel)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>isSelectActive</b>() (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [inline, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>KEX_ALGORITHMS</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#bf36d7f85f42e982ed62cf303dc35ac6">lock</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>MAC_ALGORITHMS</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mut</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#cd9f52f210e962070b103dba82a16c3a">ne7ssh</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>PREFERED_CIPHER</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>PREFERED_MAC</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#538eab080fb5f1dca1bab2db6eed1998">read</a>(int channel, bool do_lock=true)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#b85697ca0326536d7a475fc7467d27a5">readBinary</a>(int channel)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>running</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>select_thread</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>selectActive</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>selectDead</b>() (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#4a4e0fd7109e9b820d4d5ef91bed4117">selectThread</a>(void *)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#12be5a9661abf8deee660fd404d2a108">send</a>(const char *data, int channel)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">sendCmd</a>(const char *cmd, int channel, int timeout)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#df55894efd2972b10cc39bbc2a3c55be">setCount</a>(uint32 count)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#7a6d6135eb938753ce9ebc68237fc602">setOptions</a>(const char *prefCipher, const char *prefHmac)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SSH_VERSION</b> (defined in <a class="el" href="classne7ssh.html">ne7ssh</a>)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#706db04659ef8e8deb38192de9f115bb">unlock</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td><code> [private, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#cf5fb060ded2fbc2d923e6b925b74bba">waitFor</a>(int channel, const char *str, uint32 timeout=0)</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh.html#054d834b63e9b32603a2c93f2d5f2c93">~ne7ssh</a>()</td><td><a class="el" href="classne7ssh.html">ne7ssh</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh.html
deleted file mode 100644
index d4b28937445..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh.html
+++ /dev/null
@@ -1,906 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh Class Reference</h1><!-- doxytag: class="ne7ssh" --><code>#include &lt;<a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__coll__graph.png" border="0" usemap="#ne7ssh__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__coll__map">
-<area shape="rect" href="classNe7sshError.html" title="Ne7sshError" alt="" coords="351,329,449,356"><area shape="rect" href="structNe7sshError_1_1Error.html" title="Ne7sshError::Error" alt="" coords="216,233,355,260"><area shape="rect" href="classne7ssh__connection.html" title="ne7ssh_connection" alt="" coords="591,329,735,356"><area shape="rect" href="structconnStruct.html" title="connStruct" alt="" coords="524,425,615,452"><area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="601,137,724,164"><area shape="rect" href="classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="517,233,613,260"><area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="236,7,345,33"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="779,7,901,33"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="956,137,1063,164"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="748,137,881,164"><area shape="rect" href="structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="335,137,481,164"><area shape="rect" href="structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="5,137,184,164"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#cd9f52f210e962070b103dba82a16c3a">ne7ssh</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#054d834b63e9b32603a2c93f2d5f2c93">~ne7ssh</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#35e3342967a280c2179ed281bca333c5">connectWithPassword</a> (const char *host, const int port, const char *username, const char *password, bool shell=true, const int timeout=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#734f0ad906e7afbb894649785053708f">connectWithKey</a> (const char *host, const int port, const char *username, const char *privKeyFileName, bool shell=true, const int timeout=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structconnStruct.html">connStruct</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#d772b5b0a9abfb7948fee9c6059ca1b7">getConnetions</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#12be5a9661abf8deee660fd404d2a108">send</a> (const char *data, int channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">sendCmd</a> (const char *cmd, int channel, int timeout)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#16651c53db2eca3e2cff3d8952828a8c">close</a> (int channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#df55894efd2972b10cc39bbc2a3c55be">setCount</a> (uint32 count)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#538eab080fb5f1dca1bab2db6eed1998">read</a> (int channel, bool do_lock=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#b85697ca0326536d7a475fc7467d27a5">readBinary</a> (int channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#064aab09df847060ed62953cf49f2e8f">getReceivedSize</a> (int channel, bool do_lock=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#cf5fb060ded2fbc2d923e6b925b74bba">waitFor</a> (int channel, const char *str, uint32 timeout=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#7a6d6135eb938753ce9ebc68237fc602">setOptions</a> (const char *prefCipher, const char *prefHmac)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#1f91e811db4c6a997888696f7ff4c4f4">generateKeyPair</a> (const char *type, const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#ba692e657f29143728adbff0468cd554">initSftp</a> (<a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a> &amp;_sftp, int channel)</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classNe7sshError.html">Ne7sshError</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#3f2c2aee58e1be2b9b620f7e53bfcfc5">errors</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccdf32c45ed0994fd475c27794f32af1"></a><!-- doxytag: member="ne7ssh::isSelectActive" ref="ccdf32c45ed0994fd475c27794f32af1" args="()" -->
-static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>isSelectActive</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f00a9472a21f19f1af0f6101efa83837"></a><!-- doxytag: member="ne7ssh::selectDead" ref="f00a9472a21f19f1af0f6101efa83837" args="()" -->
-static void&nbsp;</td><td class="memItemRight" valign="bottom"><b>selectDead</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78c1ef808925158e5d8be65a7fa01e70"></a><!-- doxytag: member="ne7ssh::SSH_VERSION" ref="78c1ef808925158e5d8be65a7fa01e70" args="" -->
-static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>SSH_VERSION</b> = &quot;SSH-2.0-NetSieben_1.3.1&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="972156cb46100836e7ba14b223bd34a7"></a><!-- doxytag: member="ne7ssh::KEX_ALGORITHMS" ref="972156cb46100836e7ba14b223bd34a7" args="" -->
-static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>KEX_ALGORITHMS</b> = &quot;diffie-hellman-group1-sha1,diffie-hellman-group14-sha1&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f06e4e16246c501294fcd1165db6c044"></a><!-- doxytag: member="ne7ssh::HOSTKEY_ALGORITHMS" ref="f06e4e16246c501294fcd1165db6c044" args="" -->
-static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>HOSTKEY_ALGORITHMS</b> = &quot;ssh-dss,ssh-rsa&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f454a505d3635b24ead1285cde873863"></a><!-- doxytag: member="ne7ssh::MAC_ALGORITHMS" ref="f454a505d3635b24ead1285cde873863" args="" -->
-static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>MAC_ALGORITHMS</b> = &quot;hmac-md5,hmac-sha1,none&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="825ef6fcb8a346b433e6eb3dece72022"></a><!-- doxytag: member="ne7ssh::CIPHER_ALGORITHMS" ref="825ef6fcb8a346b433e6eb3dece72022" args="" -->
-static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>CIPHER_ALGORITHMS</b> = &quot;aes256-cbc,aes192-cbc,twofish-cbc,twofish256-cbc,blowfish-cbc,3des-cbc,aes128-cbc,cast128-cbc&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dd16b2bb85773695f01c9c57d64cf4f"></a><!-- doxytag: member="ne7ssh::COMPRESSION_ALGORITHMS" ref="7dd16b2bb85773695f01c9c57d64cf4f" args="" -->
-static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>COMPRESSION_ALGORITHMS</b> = &quot;none&quot;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0829dd3f32e694926add95107016e7af"></a><!-- doxytag: member="ne7ssh::PREFERED_CIPHER" ref="0829dd3f32e694926add95107016e7af" args="" -->
-static char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>PREFERED_CIPHER</b> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1be528ec82007d0a27d40d43e80f2517"></a><!-- doxytag: member="ne7ssh::PREFERED_MAC" ref="1be528ec82007d0a27d40d43e80f2517" args="" -->
-static char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>PREFERED_MAC</b> = 0</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#cd7228cab037d3fc54259d7e4b18245a">getChannelNo</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#4a4e0fd7109e9b820d4d5ef91bed4117">selectThread</a> (void *)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#bf36d7f85f42e982ed62cf303dc35ac6">lock</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh.html#706db04659ef8e8deb38192de9f115bb">unlock</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af154efcc3f183d20a3b6a55dbbafada"></a><!-- doxytag: member="ne7ssh::init" ref="af154efcc3f183d20a3b6a55dbbafada" args="" -->
-Botan::LibraryInitializer *&nbsp;</td><td class="memItemRight" valign="bottom"><b>init</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="960a2078b2c3d7b72ad60c01e5a862d2"></a><!-- doxytag: member="ne7ssh::connections" ref="960a2078b2c3d7b72ad60c01e5a862d2" args="" -->
-<a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><b>connections</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f7dd240ac939f9baa94ed337eb1820c4"></a><!-- doxytag: member="ne7ssh::conCount" ref="f7dd240ac939f9baa94ed337eb1820c4" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>conCount</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12e1ded124382bcc33d6428be16b4a9b"></a><!-- doxytag: member="ne7ssh::allConns" ref="12e1ded124382bcc33d6428be16b4a9b" args="" -->
-<a class="el" href="structconnStruct.html">connStruct</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>allConns</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7058a0902bc01f422a2d3c1efd73b1e3"></a><!-- doxytag: member="ne7ssh::select_thread" ref="7058a0902bc01f422a2d3c1efd73b1e3" args="" -->
-ne7ssh_thread_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>select_thread</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8abcd8e987a36b009e80640ac4c2565b"></a><!-- doxytag: member="ne7ssh::connected" ref="8abcd8e987a36b009e80640ac4c2565b" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>connected</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84a5623ebe8de50ad19e0fb78565ea24"></a><!-- doxytag: member="ne7ssh::mut" ref="84a5623ebe8de50ad19e0fb78565ea24" args="" -->
-static Ne7ssh_Mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>mut</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="be39cebd9974f113ea4c3978c9fd8a4d"></a><!-- doxytag: member="ne7ssh::running" ref="be39cebd9974f113ea4c3978c9fd8a4d" args="" -->
-static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>running</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41eb4e3d8379027f9f21b9ae0d9eb366"></a><!-- doxytag: member="ne7ssh::selectActive" ref="41eb4e3d8379027f9f21b9ae0d9eb366" args="" -->
-static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>selectActive</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3424ea161859d9b7fcdf4a20997b2aee"></a><!-- doxytag: member="ne7ssh::errs" ref="3424ea161859d9b7fcdf4a20997b2aee" args="" -->
-static <a class="el" href="classNe7sshError.html">Ne7sshError</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>errs</b> = NULL</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="cd9f52f210e962070b103dba82a16c3a"></a><!-- doxytag: member="ne7ssh::ne7ssh" ref="cd9f52f210e962070b103dba82a16c3a" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh::ne7ssh           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Default constructor. Used to allocate required memory, as well as initializing cryptographic routines. 
-<p>References <a class="el" href="ne7ssh_8h_source.html#l00088">connStruct::conns</a>, <a class="el" href="ne7ssh_8h_source.html#l00090">connStruct::count</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00146">selectThread()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="054d834b63e9b32603a2c93f2d5f2c93"></a><!-- doxytag: member="ne7ssh::~ne7ssh" ref="054d834b63e9b32603a2c93f2d5f2c93" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh::~ne7ssh           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destructor. 
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00472">close()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="16651c53db2eca3e2cff3d8952828a8c"></a><!-- doxytag: member="ne7ssh::close" ref="16651c53db2eca3e2cff3d8952828a8c" args="(int channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::close           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Closes specified channel. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel to close. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if closing was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__error_8cpp_source.html#l00225">Ne7sshError::deleteChannel()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00321">ne7ssh_connection::sendClose()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00098">~ne7ssh()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="734f0ad906e7afbb894649785053708f"></a><!-- doxytag: member="ne7ssh::connectWithKey" ref="734f0ad906e7afbb894649785053708f" args="(const char *host, const int port, const char *username, const char *privKeyFileName, bool shell=true, const int timeout=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ne7ssh::connectWithKey           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>host</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&nbsp;</td>
-          <td class="paramname"> <em>port</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>username</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>shell</em> = <code>true</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Connect to remote host using SSH2 protocol, with publickey authentication. <p>
-Reads private key from a file specified, and uses it to authenticate to remote host. Remote side must have public key from the key pair for authentication to succeed. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>Hostname or IP to connect to. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Port to connect to. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>Username to use in authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to file containing private key used in authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>shell</em>&nbsp;</td><td>Set this to true if you wish to launch the shell on the remote end. By default set to true. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout for the connection procedure, in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns newly assigned channel ID, or -1 if connection failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, <a class="el" href="ne7ssh_8h_source.html#l00088">connStruct::conns</a>, <a class="el" href="ne7ssh_8h_source.html#l00090">connStruct::count</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">errors()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8h_source.html#l00144">ne7ssh_connection::setChannelNo()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="35e3342967a280c2179ed281bca333c5"></a><!-- doxytag: member="ne7ssh::connectWithPassword" ref="35e3342967a280c2179ed281bca333c5" args="(const char *host, const int port, const char *username, const char *password, bool shell=true, const int timeout=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ne7ssh::connectWithPassword           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>host</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&nbsp;</td>
-          <td class="paramname"> <em>port</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>username</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>password</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>shell</em> = <code>true</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Connect to remote host using SSH2 protocol, with password authentication. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>Hostname or IP to connect to. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Port to connect to. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>Username to use in authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>Password to use in authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>shell</em>&nbsp;</td><td>Set this to true if you wish to launch the shell on the remote end. By default set to true. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout for the connection procedure, in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns newly assigned channel ID, or -1 if connection failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>, <a class="el" href="ne7ssh_8h_source.html#l00088">connStruct::conns</a>, <a class="el" href="ne7ssh_8h_source.html#l00090">connStruct::count</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">errors()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8h_source.html#l00144">ne7ssh_connection::setChannelNo()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3f2c2aee58e1be2b9b620f7e53bfcfc5"></a><!-- doxytag: member="ne7ssh::errors" ref="3f2c2aee58e1be2b9b620f7e53bfcfc5" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SSH_EXPORT <a class="el" href="classNe7sshError.html">Ne7sshError</a> * ne7ssh::errors           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method returns a pointer to the current Error collection. <dl class="return" compact><dt><b>Returns:</b></dt><dd>the Error collection </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__string_8cpp_source.html#l00057">ne7ssh_string::addFile()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">ne7ssh_connection::checkRemoteVersion()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">Ne7sshSftp::closeFile()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="crypt_8cpp_source.html#l00300">ne7ssh_crypt::computeH()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00293">connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">connectWithPassword()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00807">Ne7SftpSubsystem::errorNotInited()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00059">ne7ssh_transport::establish()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00157">ne7ssh_keys::generateDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00037">ne7ssh_keys::generateRSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">ne7ssh_keys::generateRSASignature()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">Ne7sshSftp::get()</a>, <a class="el" href="crypt_8cpp_source.html#l00500">ne7ssh_crypt::getCryptAlgo()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00427">ne7ssh_keys::getDSAKeys()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">Ne7sshSftp::getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">Ne7sshSftp::getFileHandle()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00742">Ne7sshSftp::getFileSize()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">Ne7sshSftp::getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">Ne7sshSftp::getFStat()</a>, <a class="el" href="crypt_8cpp_source.html#l00486">ne7ssh_crypt::getHashAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00531">ne7ssh_crypt::getHmacAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00284">ne7ssh_crypt::getKexPublic()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">ne7ssh_keys::getKeyPairFromFile()</a>, <a class="el" href="crypt_8cpp_source.html#l00550">ne7ssh_crypt::getMacKeyLen()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00500">ne7ssh_keys::getRSAKeys()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00124">ne7ssh_channel::handleDisconnect()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00102">ne7ssh_channel::handleEof()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">ne7ssh_channel::handleExtendedData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">ne7ssh_channel::handleRequest()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">Ne7sshSftp::handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00249">Ne7sshSftp::handleStatus()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00232">Ne7sshSftp::handleVersion()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">Ne7sshSftp::isType()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00245">Ne7sshError::lock()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>, <a class="el" href="crypt_8cpp_source.html#l00250">ne7ssh_crypt::negotiatedCmprsC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00267">ne7ssh_crypt::negotiatedCmprsS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00122">ne7ssh_crypt::negotiatedCryptoC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00164">ne7ssh_crypt::negotiatedCryptoS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00105">ne7ssh_crypt::negotiatedHostkey()</a>, <a class="el" href="crypt_8cpp_source.html#l00088">ne7ssh_crypt::negotiatedKex()</a>, <a class="el" href="crypt_8cpp_source.html#l00206">ne7ssh_crypt::negotiatedMacC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00228">ne7ssh_crypt::negotiatedMacS2c()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00129">ne7ssh_transport::NoBlock()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">Ne7sshSftp::put()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">Ne7sshSftp::readFile()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00219">ne7ssh_transport::receive()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">Ne7sshSftp::receiveWindowAdjust()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00195">ne7ssh_transport::send()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00302">ne7ssh_connection::startSftp()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00259">Ne7sshError::unlock()</a>, <a class="el" href="crypt_8cpp_source.html#l00323">ne7ssh_crypt::verifySig()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">Ne7sshSftp::writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1f91e811db4c6a997888696f7ff4c4f4"></a><!-- doxytag: member="ne7ssh::generateKeyPair" ref="1f91e811db4c6a997888696f7ff4c4f4" args="(const char *type, const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::generateKeyPair           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>type</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>fqdn</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>pubKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint16&nbsp;</td>
-          <td class="paramname"> <em>keySize</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generate key pair. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>String specifying key type. Currently "dsa" and "rsa" are supported. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>fqdn</em>&nbsp;</td><td>User id. Usually an Email. For example "test@netsieben.com" </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to a file where generated private key should be written. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>pubKeyFileName</em>&nbsp;</td><td>Full path to a file where generated public key should be written. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>keySize</em>&nbsp;</td><td>Desired key size in bits. If not specified will default to 2048. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return true if keys generated and written to the files. Otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__keys_8cpp_source.html#l00157">ne7ssh_keys::generateDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00037">ne7ssh_keys::generateRSAKeys()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cd7228cab037d3fc54259d7e4b18245a"></a><!-- doxytag: member="ne7ssh::getChannelNo" ref="cd7228cab037d3fc54259d7e4b18245a" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh::getChannelNo           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the number of active channel. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Active channel. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00472">close()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00293">connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">connectWithPassword()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00612">getReceivedSize()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00364">initSftp()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00556">read()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00583">readBinary()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00345">send()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00395">sendCmd()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d772b5b0a9abfb7948fee9c6059ca1b7"></a><!-- doxytag: member="ne7ssh::getConnetions" ref="d772b5b0a9abfb7948fee9c6059ca1b7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="structconnStruct.html">connStruct</a>* ne7ssh::getConnetions           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieves a pointer to all current connections. <p>
-For internal use only. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns pointer to pointers to <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> class, or 0 if no connection exist. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00146">selectThread()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="064aab09df847060ed62953cf49f2e8f"></a><!-- doxytag: member="ne7ssh::getReceivedSize" ref="064aab09df847060ed62953cf49f2e8f" args="(int channel, bool do_lock=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ne7ssh::getReceivedSize           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>do_lock</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the size of all data read. Used to read buffer passed 0x0. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel number which buffer size to check. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Return size of the buffer, or 0x0 if receive buffer empty. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh__connection_8h_source.html#l00194">ne7ssh_connection::getReceived()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00496">waitFor()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ba692e657f29143728adbff0468cd554"></a><!-- doxytag: member="ne7ssh::initSftp" ref="ba692e657f29143728adbff0468cd554" args="(Ne7SftpSubsystem &amp;_sftp, int channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::initSftp           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a> &amp;&nbsp;</td>
-          <td class="paramname"> <em>_sftp</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is used to initialize a new SFTP subsystem. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_sftp</em>&nbsp;</td><td>Reference to SFTP subsystem to be initialized. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel ID returned by one of the connect methods. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the new subsystem successfully initialized. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00302">ne7ssh_connection::startSftp()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bf36d7f85f42e982ed62cf303dc35ac6"></a><!-- doxytag: member="ne7ssh::lock" ref="bf36d7f85f42e982ed62cf303dc35ac6" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [static, private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Lock the mutex. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if lock aquired. Oterwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00472">close()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00293">connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">connectWithPassword()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00612">getReceivedSize()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00364">initSftp()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00556">read()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00583">readBinary()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00146">selectThread()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00345">send()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00395">sendCmd()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00496">waitFor()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00098">~ne7ssh()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="538eab080fb5f1dca1bab2db6eed1998"></a><!-- doxytag: member="ne7ssh::read" ref="538eab080fb5f1dca1bab2db6eed1998" args="(int channel, bool do_lock=true)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * ne7ssh::read           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>do_lock</em> = <code>true</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Reads all data from receiving buffer on specified channel. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel to read data on. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns string read from receiver buffer or 0 if buffer is empty. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh__connection_8h_source.html#l00194">ne7ssh_connection::getReceived()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00496">waitFor()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b85697ca0326536d7a475fc7467d27a5"></a><!-- doxytag: member="ne7ssh::readBinary" ref="b85697ca0326536d7a475fc7467d27a5" args="(int channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void * ne7ssh::readBinary           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Reads all data from receiving buffer on specified channel. Returns pointer to void. Together with getReceivedSize and sendCmd can be used to read remote files. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel to read data on. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns pointer to the start of binary data or 0 if nothing received. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh__connection_8h_source.html#l00194">ne7ssh_connection::getReceived()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4a4e0fd7109e9b820d4d5ef91bed4117"></a><!-- doxytag: member="ne7ssh::selectThread" ref="4a4e0fd7109e9b820d4d5ef91bed4117" args="(void *)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void * ne7ssh::selectThread           </td>
-          <td>(</td>
-          <td class="paramtype">void *&nbsp;</td>
-          <td class="paramname"> <em>initData</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [static, private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Send / Receive thread. <p>
-For Internal use only <dl class="return" compact><dt><b>Returns:</b></dt><dd>Usually 0 when thread terminates </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8h_source.html#l00088">connStruct::conns</a>, <a class="el" href="ne7ssh_8h_source.html#l00200">getConnetions()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00285">ne7ssh_connection::handleData()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00290">ne7ssh_connection::sendData()</a>, <a class="el" href="ne7ssh_8h_source.html#l00238">setCount()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00063">ne7ssh()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="12be5a9661abf8deee660fd404d2a108"></a><!-- doxytag: member="ne7ssh::send" ref="12be5a9661abf8deee660fd404d2a108" args="(const char *data, int channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::send           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>data</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retreives count of current connections <p>
-For internal use only. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns current count of connections. Sends a command string on specified channel, provided the specified channel has been previously opened through <a class="el" href="classne7ssh.html#35e3342967a280c2179ed281bca333c5">connectWithPassword()</a> function. </dd></dl>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to the command string to send to a channel. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel to send data on. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the send was successful, otherwise false returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00290">ne7ssh_connection::sendData()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cd4c007e963c376b28cacaf0d9c9fa15"></a><!-- doxytag: member="ne7ssh::sendCmd" ref="cd4c007e963c376b28cacaf0d9c9fa15" args="(const char *cmd, int channel, int timeout)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::sendCmd           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>cmd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Can be used to send a single command and disconnect, similiar behavior to openssh when one appends a command to the end of ssh command. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cmd</em>&nbsp;</td><td>Remote command to execute. Can be used to read files on unix with 'cat [filename]'. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel to send the command. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>How long to wait before giving up. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if the send was successful, otherwise false returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00639">getChannelNo()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00296">ne7ssh_connection::sendCmd()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="df55894efd2972b10cc39bbc2a3c55be"></a><!-- doxytag: member="ne7ssh::setCount" ref="df55894efd2972b10cc39bbc2a3c55be" args="(uint32 count)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh::setCount           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>count</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets connection count. <p>
-For internal use only. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Integer to set connection count. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00146">selectThread()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7a6d6135eb938753ce9ebc68237fc602"></a><!-- doxytag: member="ne7ssh::setOptions" ref="7a6d6135eb938753ce9ebc68237fc602" args="(const char *prefCipher, const char *prefHmac)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh::setOptions           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>prefCipher</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>prefHmac</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets prefered cipher and hmac algorithms. <p>
-This function as to be executed before connection functions, just after initialization of <a class="el" href="classne7ssh.html">ne7ssh</a> class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>prefCipher</em>&nbsp;</td><td>prefered cipher algorithm string representation. Possible cipher algorithms are aes256-cbc, twofish-cbc, twofish256-cbc, blowfish-cbc, 3des-cbc, aes128-cbc, cast128-cbc. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>prefHmac</em>&nbsp;</td><td>preferede hmac algorithm string representation. Possible hmac algorithms are hmac-md5, hmac-sha1, none. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="706db04659ef8e8deb38192de9f115bb"></a><!-- doxytag: member="ne7ssh::unlock" ref="706db04659ef8e8deb38192de9f115bb" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::unlock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [static, private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Unlock the mutext. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the mutext successfully unlocked. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00472">close()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00293">connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">connectWithPassword()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00612">getReceivedSize()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00364">initSftp()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00556">read()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00583">readBinary()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00146">selectThread()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00345">send()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00395">sendCmd()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00496">waitFor()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00098">~ne7ssh()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cf5fb060ded2fbc2d923e6b925b74bba"></a><!-- doxytag: member="ne7ssh::waitFor" ref="cf5fb060ded2fbc2d923e6b925b74bba" args="(int channel, const char *str, uint32 timeout=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh::waitFor           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channel</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>str</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait until receiving buffer contains a string passed in str, or until the function timeouts as specified in timeout. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel to wait on. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>String to wait for. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns true if string specified in str variable has been received, otherwise false returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00612">getReceivedSize()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00683">lock()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00556">read()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00702">unlock()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a><li>ne7ssh.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel-members.html
deleted file mode 100644
index e6ea00c3865..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel-members.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_channel Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#a2d5379bfc1884c3f12bd024bdb0ca9a">adjustRecvWindow</a>(int bufferSize)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#bc8252b3f45175c8178d495f11c748a0">adjustWindow</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>channelOpened</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>closed</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cmdComplete</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">data2Send</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>delayedBuffer</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>eof</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#1037fa89c4b81050b98209cc89e32188">execCmd</a>(const char *cmd)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">getCmdComplete</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">getReceived</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">getRecvWindow</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">getSendWindow</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#08d6085ea4493092d483819cde904ef5">getShell</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#ec28c7ca08840c27ef98650acb520a35">handleChannelConfirm</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#1fbc5d7d3f5f986a1a8921aecf5aaa2e">handleClose</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#5752552709e47b3693b393be19f69139">handleData</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#9145226f1b6b0d2e3c20154da81d0bac">handleDisconnect</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#468c9ba36282ab97e535c9285fd00b79">handleEof</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#fa9835e80a26e96ae733de123713e1db">handleExtendedData</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#4cfe1bda6308751f6f89612b6ea6e5b8">handleReceived</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;_packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#195ca3cdebd29ea9285762bfc777eb64">handleRequest</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>inBuffer</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">isOpen</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">isRemoteShell</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#2ca4770827c460ade71f4f64e14c78d9">ne7ssh_channel</a>(ne7ssh_session *_session)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#d744609a8a3ee9c204eabfb87343808d">open</a>(uint32 channelID)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>outBuffer</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#450654cc1a212b348b7ccadd5d83e4df">receive</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#959a7e3dc6162e4a7c3a30470728b835">sendAdjustWindow</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">sendAll</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#96400430e7b338389aab85a04ea9921e">sendClose</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#5a4bed6a381e7c2521995015272ebb8b">sendEof</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>session</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>shellSpawned</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>windowRecv</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>windowSend</b> (defined in <a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#8154fdfcc75f63d71f6d4ebe29155590">write</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;data)</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__channel.html#59b4a174d73ee8cbdec676f6cbe69c5b">~ne7ssh_channel</a>()</td><td><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a></td><td><code> [virtual]</code></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel.html
deleted file mode 100644
index e96742383ca..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel.html
+++ /dev/null
@@ -1,882 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_channel Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_channel Class Reference</h1><!-- doxytag: class="ne7ssh_channel" --><code>#include &lt;<a class="el" href="ne7ssh__channel_8h_source.html">ne7ssh_channel.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for ne7ssh_channel:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__channel__inherit__graph.png" border="0" usemap="#ne7ssh__channel__inherit__map" alt="Inheritance graph"></center>
-<map name="ne7ssh__channel__inherit__map">
-<area shape="rect" href="classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="19,84,115,111"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_channel:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__channel__coll__graph.png" border="0" usemap="#ne7ssh__channel__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__channel__coll__map">
-<area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="5,7,115,33"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="275,7,397,33"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="207,137,313,164"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="379,137,512,164"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__channel-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#2ca4770827c460ade71f4f64e14c78d9">ne7ssh_channel</a> (<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *_session)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#59b4a174d73ee8cbdec676f6cbe69c5b">~ne7ssh_channel</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#d744609a8a3ee9c204eabfb87343808d">open</a> (uint32 channelID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#08d6085ea4493092d483819cde904ef5">getShell</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#1037fa89c4b81050b98209cc89e32188">execCmd</a> (const char *cmd)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#450654cc1a212b348b7ccadd5d83e4df">receive</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#4cfe1bda6308751f6f89612b6ea6e5b8">handleReceived</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;_packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#8154fdfcc75f63d71f6d4ebe29155590">write</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">sendAll</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">data2Send</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">isOpen</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#96400430e7b338389aab85a04ea9921e">sendClose</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#5a4bed6a381e7c2521995015272ebb8b">sendEof</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">getReceived</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">getCmdComplete</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">isRemoteShell</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#a2d5379bfc1884c3f12bd024bdb0ca9a">adjustRecvWindow</a> (int bufferSize)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">getRecvWindow</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">getSendWindow</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#959a7e3dc6162e4a7c3a30470728b835">sendAdjustWindow</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b4c2c5a96df5cb5018de3bfa132ada4"></a><!-- doxytag: member="ne7ssh_channel::windowRecv" ref="9b4c2c5a96df5cb5018de3bfa132ada4" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>windowRecv</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93ad54eaf07680e24f8c98f0baedf97a"></a><!-- doxytag: member="ne7ssh_channel::windowSend" ref="93ad54eaf07680e24f8c98f0baedf97a" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>windowSend</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00b73e6ac533691884ca24d2d0f3655c"></a><!-- doxytag: member="ne7ssh_channel::channelOpened" ref="00b73e6ac533691884ca24d2d0f3655c" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>channelOpened</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#ec28c7ca08840c27ef98650acb520a35">handleChannelConfirm</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#bc8252b3f45175c8178d495f11c748a0">adjustWindow</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#5752552709e47b3693b393be19f69139">handleData</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#fa9835e80a26e96ae733de123713e1db">handleExtendedData</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#468c9ba36282ab97e535c9285fd00b79">handleEof</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#1fbc5d7d3f5f986a1a8921aecf5aaa2e">handleClose</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#195ca3cdebd29ea9285762bfc777eb64">handleRequest</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__channel.html#9145226f1b6b0d2e3c20154da81d0bac">handleDisconnect</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="faec7f8ab4d61554589011e73ee48b11"></a><!-- doxytag: member="ne7ssh_channel::eof" ref="faec7f8ab4d61554589011e73ee48b11" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>eof</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="24cbdcaf4d5787af875c7c1688be9e8d"></a><!-- doxytag: member="ne7ssh_channel::closed" ref="24cbdcaf4d5787af875c7c1688be9e8d" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>closed</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc258d45748f73c775715a7788eb8ae4"></a><!-- doxytag: member="ne7ssh_channel::cmdComplete" ref="dc258d45748f73c775715a7788eb8ae4" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>cmdComplete</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e08779bc600b3e45e38839738cbaca00"></a><!-- doxytag: member="ne7ssh_channel::shellSpawned" ref="e08779bc600b3e45e38839738cbaca00" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>shellSpawned</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d264fba07423974e30cf6238d2a4b9f"></a><!-- doxytag: member="ne7ssh_channel::session" ref="8d264fba07423974e30cf6238d2a4b9f" args="" -->
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>session</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4b0f78b42352aa5e30ece3985e00243"></a><!-- doxytag: member="ne7ssh_channel::inBuffer" ref="f4b0f78b42352aa5e30ece3985e00243" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>inBuffer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4de5203ea6a360c4a1c88f14e4f079eb"></a><!-- doxytag: member="ne7ssh_channel::outBuffer" ref="4de5203ea6a360c4a1c88f14e4f079eb" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>outBuffer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fb47771145166f04989f6a4c9c8b483"></a><!-- doxytag: member="ne7ssh_channel::delayedBuffer" ref="6fb47771145166f04989f6a4c9c8b483" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>delayedBuffer</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="2ca4770827c460ade71f4f64e14c78d9"></a><!-- doxytag: member="ne7ssh_channel::ne7ssh_channel" ref="2ca4770827c460ade71f4f64e14c78d9" args="(ne7ssh_session *_session)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_channel::ne7ssh_channel           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td>
-          <td class="paramname"> <em>_session</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> class consturctor. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_session</em>&nbsp;</td><td>Pointer to <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="59b4a174d73ee8cbdec676f6cbe69c5b"></a><!-- doxytag: member="ne7ssh_channel::~ne7ssh_channel" ref="59b4a174d73ee8cbdec676f6cbe69c5b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_channel::~ne7ssh_channel           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> class destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="a2d5379bfc1884c3f12bd024bdb0ca9a"></a><!-- doxytag: member="ne7ssh_channel::adjustRecvWindow" ref="a2d5379bfc1884c3f12bd024bdb0ca9a" args="(int bufferSize)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::adjustRecvWindow           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>bufferSize</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if receive window needs adjusting, if so send a window adjust request. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>bufferSize</em>&nbsp;</td><td>Current buffer size. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>False on any error, otherwise true. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">sendAdjustWindow()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bc8252b3f45175c8178d495f11c748a0"></a><!-- doxytag: member="ne7ssh_channel::adjustWindow" ref="bc8252b3f45175c8178d495f11c748a0" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::adjustWindow           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'WINDOWS_ADJUST' packet. <p>
-It's used to increase our sending window size. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing WINDOW_ADJUST packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>If parsing of payload is successful, returns true, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f12993833f77a6e0cf673133737a995c"></a><!-- doxytag: member="ne7ssh_channel::data2Send" ref="f12993833f77a6e0cf673133737a995c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::data2Send           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if there is any data waiting to be sent. Most often called from selectThread via <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> class. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if there is data to send, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8h_source.html#l00156">ne7ssh_connection::data2Send()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1037fa89c4b81050b98209cc89e32188"></a><!-- doxytag: member="ne7ssh_channel::execCmd" ref="1037fa89c4b81050b98209cc89e32188" args="(const char *cmd)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::execCmd           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>cmd</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Executes a single command on the remote end and terminates the connection. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cmd</em>&nbsp;</td><td>Remote command to execute. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if command if sening of a command succeded. False returned on failure. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00296">ne7ssh_connection::sendCmd()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="19cecc814a558e70e692475a861b14b0"></a><!-- doxytag: member="ne7ssh_channel::getCmdComplete" ref="19cecc814a558e70e692475a861b14b0" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::getCmdComplete           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-When executing a single command with <a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">ne7ssh::sendCmd</a> this command is used to determine when remote side finishes the execution. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if execution of the command is complete. Otherwise false. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8h_source.html#l00200">ne7ssh_connection::getCmdComplete()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8a5aa42877d987be82de852804d64224"></a><!-- doxytag: member="ne7ssh_channel::getReceived" ref="8a5aa42877d987be82de852804d64224" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt;Botan::byte&gt;&amp; ne7ssh_channel::getReceived           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Gets last received packet. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to a vector containing the last received packet. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8h_source.html#l00194">ne7ssh_connection::getReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="acafeb21fdfe9bd9a6e805c51635a724"></a><!-- doxytag: member="ne7ssh_channel::getRecvWindow" ref="acafeb21fdfe9bd9a6e805c51635a724" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_channel::getRecvWindow           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Gets the current size of the receive window. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Size of the revceive window. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00028">Ne7sshSftp::Ne7sshSftp()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="af0b5ad2f382674b621d4b923f688e1f"></a><!-- doxytag: member="ne7ssh_channel::getSendWindow" ref="af0b5ad2f382674b621d4b923f688e1f" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_channel::getSendWindow           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Gets the current size of the send window. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Size of the send window. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00028">Ne7sshSftp::Ne7sshSftp()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="08d6085ea4493092d483819cde904ef5"></a><!-- doxytag: member="ne7ssh_channel::getShell" ref="08d6085ea4493092d483819cde904ef5" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::getShell           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Requests shell from remote side. Does not wait for or expect a reply. According to SSH specs that's an acceptable behavior. 
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ec28c7ca08840c27ef98650acb520a35"></a><!-- doxytag: member="ne7ssh_channel::handleChannelConfirm" ref="ec28c7ca08840c27ef98650acb520a35" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::handleChannelConfirm           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'CHANNEL_OPEN_CONFIRMATION' packet. <p>
-After parsing the payload, send channel ID is assigned, along with send windows size and maximum packer size. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Always returns true. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00116">ne7ssh_session::setMaxPacket()</a>, and <a class="el" href="ne7ssh__session_8h_source.html#l00092">ne7ssh_session::setSendChannel()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">open()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="1fbc5d7d3f5f986a1a8921aecf5aaa2e"></a><!-- doxytag: member="ne7ssh_channel::handleClose" ref="1fbc5d7d3f5f986a1a8921aecf5aaa2e" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::handleClose           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'CLOSE' packet. <p>
-If the close action wasn't initiated on this end, we also send a 'CLOSE' packet to the remote side, prompting the closing of remote side's receiving channel. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing the 'CLOSE' packet. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">sendClose()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="5752552709e47b3693b393be19f69139"></a><!-- doxytag: member="ne7ssh_channel::handleData" ref="5752552709e47b3693b393be19f69139" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::handleData           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'DATA' packet. <p>
-It's used to parse the payload, and add received data to the buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing 'DATA' packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>If parsing of payload is successful, returns true, otherwise false is returned. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classNe7sshSftp.html#e85f889433d08962712780e4d9d5bfcc">Ne7sshSftp</a>.</p>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00205">ne7ssh_string::chop()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">sendAdjustWindow()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">handleExtendedData()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9145226f1b6b0d2e3c20154da81d0bac"></a><!-- doxytag: member="ne7ssh_channel::handleDisconnect" ref="9145226f1b6b0d2e3c20154da81d0bac" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::handleDisconnect           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'DISCONNECT' packet. <p>
-In normal operation we should not get this packet. Only if some serious error occurs, and makes remote side drop the connection, will this packet be received. And at that point we disconnect right away, and throw an error. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing the 'DISCONNECT' packet. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="468c9ba36282ab97e535c9285fd00b79"></a><!-- doxytag: member="ne7ssh_channel::handleEof" ref="468c9ba36282ab97e535c9285fd00b79" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::handleEof           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'EOF' packet. <p>
-It's used to close the receiving window and channel. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing EOF packet. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">sendClose()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fa9835e80a26e96ae733de123713e1db"></a><!-- doxytag: member="ne7ssh_channel::handleExtendedData" ref="fa9835e80a26e96ae733de123713e1db" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::handleExtendedData           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle 'EXTENDED_DATA' packet. This packet is mostly used to transmit remote side errors. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing 'EXTENDED_DATA' packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>If parsing of payload is successful, returns true, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">handleData()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">sendAdjustWindow()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4cfe1bda6308751f6f89612b6ea6e5b8"></a><!-- doxytag: member="ne7ssh_channel::handleReceived" ref="4cfe1bda6308751f6f89612b6ea6e5b8" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;_packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::handleReceived           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>_packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Handle a packet received from remote side. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_packet</em>&nbsp;</td><td>Reference to a newly received packet. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the packet successfully processed. False on any error. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00087">adjustWindow()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00159">ne7ssh_string::getByte()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00114">handleClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00124">handleDisconnect()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00102">handleEof()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">handleExtendedData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">handleRequest()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00301">receive()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">Ne7sshSftp::receiveUntil()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">Ne7sshSftp::receiveWhile()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">Ne7sshSftp::receiveWindowAdjust()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="195ca3cdebd29ea9285762bfc777eb64"></a><!-- doxytag: member="ne7ssh_channel::handleRequest" ref="195ca3cdebd29ea9285762bfc777eb64" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;packet)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::handleRequest           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to handle the 'REQUEST' packet. <p>
-At this point only two requests are supported, namely "exit-signal" and "exit-status". For the most part we ignore this packet, which is safe to do according to SSH specs. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing the 'REQUEST' packet. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00159">ne7ssh_string::getByte()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00149">ne7ssh_string::getInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d78ff7808101f1e577a8dcc6715df1e8"></a><!-- doxytag: member="ne7ssh_channel::isOpen" ref="d78ff7808101f1e577a8dcc6715df1e8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::isOpen           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if current channel is in an open state. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if channel is open, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8h_source.html#l00182">ne7ssh_connection::isOpen()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00321">ne7ssh_connection::sendClose()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bba1bcb1c5cf307707b55451cd399598"></a><!-- doxytag: member="ne7ssh_channel::isRemoteShell" ref="bba1bcb1c5cf307707b55451cd399598" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::isRemoteShell           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Determines if the shell has been spawned on the remote side. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the shell has been spawned. Otherwise false. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8h_source.html#l00212">ne7ssh_connection::isRemoteShell()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00302">ne7ssh_connection::startSftp()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d744609a8a3ee9c204eabfb87343808d"></a><!-- doxytag: member="ne7ssh_channel::open" ref="d744609a8a3ee9c204eabfb87343808d" args="(uint32 channelID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_channel::open           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>channelID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Requests 'CHANNEL_OPEN' from the remote side. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channelID</em>&nbsp;</td><td>New receiving channel ID. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns new channel ID, or 0 if open fails. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00063">handleChannelConfirm()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="450654cc1a212b348b7ccadd5d83e4df"></a><!-- doxytag: member="ne7ssh_channel::receive" ref="450654cc1a212b348b7ccadd5d83e4df" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::receive           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Receives new packet from remote side. This function is mostly used from selectThread. 
-<p>References <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">handleReceived()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00285">ne7ssh_connection::handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="959a7e3dc6162e4a7c3a30470728b835"></a><!-- doxytag: member="ne7ssh_channel::sendAdjustWindow" ref="959a7e3dc6162e4a7c3a30470728b835" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::sendAdjustWindow           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Request adjustment of the send window size on the remote end, so we can receive more data. 
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00122">ne7ssh_session::getMaxPacket()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00446">adjustRecvWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">handleData()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">handleExtendedData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ad6c9e2d2ee39be1c0cd078d30f7b11b"></a><!-- doxytag: member="ne7ssh_channel::sendAll" ref="ad6c9e2d2ee39be1c0cd078d30f7b11b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::sendAll           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends the entire buffer. Most often called from selectThread via <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> class. 
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">write()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8h_source.html#l00162">ne7ssh_connection::sendData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="96400430e7b338389aab85a04ea9921e"></a><!-- doxytag: member="ne7ssh_channel::sendClose" ref="96400430e7b338389aab85a04ea9921e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::sendClose           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-When closing a channel, initiates the closing procedure. <dl class="return" compact><dt><b>Returns:</b></dt><dd>False if sending fails. Otherwise true is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00114">handleClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00102">handleEof()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00321">ne7ssh_connection::sendClose()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="5a4bed6a381e7c2521995015272ebb8b"></a><!-- doxytag: member="ne7ssh_channel::sendEof" ref="5a4bed6a381e7c2521995015272ebb8b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_channel::sendEof           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Send EOF to the remote side. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if sending succeeds, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00098">ne7ssh_session::getSendChannel()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8154fdfcc75f63d71f6d4ebe29155590"></a><!-- doxytag: member="ne7ssh_channel::write" ref="8154fdfcc75f63d71f6d4ebe29155590" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;data)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_channel::write           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>data</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pushes a new command to the buffer where the selectThread will catch and send it. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Reference to vector containing a command to be added to the buffer. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00122">ne7ssh_session::getMaxPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">sendAll()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00290">ne7ssh_connection::sendData()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__channel_8h_source.html">ne7ssh_channel.h</a><li>ne7ssh_channel.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.map
deleted file mode 100644
index 02c4c4d8a55..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="5,7,115,33">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="275,7,397,33">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="207,137,313,164">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="379,137,512,164">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.md5
deleted file mode 100644
index d5ff61a0e44..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-ec1101fe9893f883eb4ebdb2f49a2dc0
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.map
deleted file mode 100644
index 063936f72f4..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="19,84,115,111">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.md5
deleted file mode 100644
index 1feddb9d560..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__channel__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-386e64f96857962ac64bfcfcd2ee191e
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.map
deleted file mode 100644
index 98f2305886d..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.map
+++ /dev/null
@@ -1,12 +0,0 @@
-<area shape="rect" href="$classNe7sshError.html" title="Ne7sshError" alt="" coords="351,329,449,356">
-<area shape="rect" href="$structNe7sshError_1_1Error.html" title="Ne7sshError::Error" alt="" coords="216,233,355,260">
-<area shape="rect" href="$classne7ssh__connection.html" title="ne7ssh_connection" alt="" coords="591,329,735,356">
-<area shape="rect" href="$structconnStruct.html" title="connStruct" alt="" coords="524,425,615,452">
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="601,137,724,164">
-<area shape="rect" href="$classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="517,233,613,260">
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="236,7,345,33">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="779,7,901,33">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="956,137,1063,164">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="748,137,881,164">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="335,137,481,164">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="5,137,184,164">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.md5
deleted file mode 100644
index 27dbb60a0a5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-93c2b10c3b049ce2f2c5694a6507d90e
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection-members.html
deleted file mode 100644
index 42ca0ddd8e3..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection-members.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_connection Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#e1103a358cc4c5e5551cc02b456f5b49">authWithKey</a>(const char *username, const char *privKeyFileName)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#cfc0a9286778d088487e1e6eef89f9d1">authWithPassword</a>(const char *username, const char *password)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>channel</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#bb114ef7885807fef7722080c9be5fa4">checkRemoteVersion</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cmdClosed</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cmdRunning</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>connected</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#4b9a9d4b26e474a175f8bacbc18e7e08">connectWithKey</a>(uint32 channelID, const char *host, uint32 port, const char *username, const char *privKeyFileName, bool shell=true, int timeout=0)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#8078ac566bbddf9487131848d5c171d0">connectWithPassword</a>(uint32 channelID, const char *host, uint32 port, const char *username, const char *password, bool shell=true, int timeout=0)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>crypto</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#13f6f62c5d0345f1573ad5626bc8e75e">data2Send</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#8afe35dfcf55958e5578a894a9111e73">getChannelNo</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#fec5882335c281c8fc06d951b4d59b26">getCmdComplete</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#3aac541e10f43b83a42aef34a1fb876f">getReceived</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#ec81b2d5753f8d333de76535af5cb670">getSocket</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#e12a09bb5c6974e0b17ce957a8bf03f0">handleData</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#b82b95339f325564f83bc2cc091af995">isCmdClosed</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#53d7ae314361b4911c8802e9fa780ae8">isCmdRunning</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#27691577539dd356f7f872755d7053de">isConnected</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#5062b1df08b2cdb04ee8b6b2b73f0733">isOpen</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#9919d63251df10e4c0d4fd695b0751c2">isRemoteShell</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#a149c0df2bf930f115026633d9daf550">isSftpActive</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mut</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#7024b9b12d517609243fb90ecd859434">ne7ssh_connection</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#fc3d154a577c422670c43dfa4c38fd0c">requestService</a>(const char *service)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#f90793537ef75cbed854f4e525a5c01b">sendClose</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#9b0770473939bb8230be993d3948017d">sendCmd</a>(const char *cmd)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#c809469add6347cdc78c44491746062f">sendData</a>(const char *data)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#32f5f75a2331f312d41678594e4edcd8">sendData</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#9bb5d840002bdf4b8a5f81fdfbee671b">sendLocalVersion</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>session</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#717902f4f3a863309e1d013982aecd41">setChannelNo</a>(int channelID)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sftp</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sock</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#cd5e5fa36d401e816ce15989d30618c7">startSftp</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>thisChannel</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>transport</b> (defined in <a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>)</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__connection.html#089e8aa8fbdfded464394ee94334d36c">~ne7ssh_connection</a>()</td><td><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection.html
deleted file mode 100644
index 6f252c42d8b..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection.html
+++ /dev/null
@@ -1,900 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_connection Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_connection Class Reference</h1><!-- doxytag: class="ne7ssh_connection" --><code>#include &lt;<a class="el" href="ne7ssh__connection_8h_source.html">ne7ssh_connection.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_connection:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__connection__coll__graph.png" border="0" usemap="#ne7ssh__connection__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__connection__coll__map">
-<area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="443,137,565,164"><area shape="rect" href="classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="479,233,575,260"><area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="504,7,613,33"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="135,7,257,33"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="8,137,115,164"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="189,137,323,164"><area shape="rect" href="structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="716,137,863,164"><area shape="rect" href="structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="887,137,1065,164"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__connection-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#7024b9b12d517609243fb90ecd859434">ne7ssh_connection</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#089e8aa8fbdfded464394ee94334d36c">~ne7ssh_connection</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#8078ac566bbddf9487131848d5c171d0">connectWithPassword</a> (uint32 channelID, const char *host, uint32 port, const char *username, const char *password, bool shell=true, int timeout=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#4b9a9d4b26e474a175f8bacbc18e7e08">connectWithKey</a> (uint32 channelID, const char *host, uint32 port, const char *username, const char *privKeyFileName, bool shell=true, int timeout=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#ec81b2d5753f8d333de76535af5cb670">getSocket</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#e12a09bb5c6974e0b17ce957a8bf03f0">handleData</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#c809469add6347cdc78c44491746062f">sendData</a> (const char *data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#717902f4f3a863309e1d013982aecd41">setChannelNo</a> (int channelID)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#8afe35dfcf55958e5578a894a9111e73">getChannelNo</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#13f6f62c5d0345f1573ad5626bc8e75e">data2Send</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#32f5f75a2331f312d41678594e4edcd8">sendData</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#9b0770473939bb8230be993d3948017d">sendCmd</a> (const char *cmd)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#f90793537ef75cbed854f4e525a5c01b">sendClose</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#5062b1df08b2cdb04ee8b6b2b73f0733">isOpen</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#27691577539dd356f7f872755d7053de">isConnected</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#3aac541e10f43b83a42aef34a1fb876f">getReceived</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#fec5882335c281c8fc06d951b4d59b26">getCmdComplete</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#b82b95339f325564f83bc2cc091af995">isCmdClosed</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#9919d63251df10e4c0d4fd695b0751c2">isRemoteShell</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#53d7ae314361b4911c8802e9fa780ae8">isCmdRunning</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#cd5e5fa36d401e816ce15989d30618c7">startSftp</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#a149c0df2bf930f115026633d9daf550">isSftpActive</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#bb114ef7885807fef7722080c9be5fa4">checkRemoteVersion</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#9bb5d840002bdf4b8a5f81fdfbee671b">sendLocalVersion</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#fc3d154a577c422670c43dfa4c38fd0c">requestService</a> (const char *service)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#cfc0a9286778d088487e1e6eef89f9d1">authWithPassword</a> (const char *username, const char *password)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__connection.html#e1103a358cc4c5e5551cc02b456f5b49">authWithKey</a> (const char *username, const char *privKeyFileName)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49acf69d43131d9174d1e68f84188d8e"></a><!-- doxytag: member="ne7ssh_connection::sock" ref="49acf69d43131d9174d1e68f84188d8e" args="" -->
-SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><b>sock</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e08d7cefdd330c3a2b31f002e4d8a487"></a><!-- doxytag: member="ne7ssh_connection::thisChannel" ref="e08d7cefdd330c3a2b31f002e4d8a487" args="" -->
-int&nbsp;</td><td class="memItemRight" valign="bottom"><b>thisChannel</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9cefff6bb97c7307fb2ee054e825e8bd"></a><!-- doxytag: member="ne7ssh_connection::crypto" ref="9cefff6bb97c7307fb2ee054e825e8bd" args="" -->
-<a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>crypto</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3c39a9bb19430aca6defb29ab8860e7"></a><!-- doxytag: member="ne7ssh_connection::transport" ref="a3c39a9bb19430aca6defb29ab8860e7" args="" -->
-<a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>transport</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18aa6065c5ae0f765ed6ab4177406f16"></a><!-- doxytag: member="ne7ssh_connection::session" ref="18aa6065c5ae0f765ed6ab4177406f16" args="" -->
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>session</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8c9ae036b1ab4cb2c4fc880a8c82ee2"></a><!-- doxytag: member="ne7ssh_connection::channel" ref="b8c9ae036b1ab4cb2c4fc880a8c82ee2" args="" -->
-<a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>channel</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8db8d821419717b407070ff5871e7e86"></a><!-- doxytag: member="ne7ssh_connection::sftp" ref="8db8d821419717b407070ff5871e7e86" args="" -->
-<a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>sftp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="587dcb2378c7c8ca293f89ca082fcd4c"></a><!-- doxytag: member="ne7ssh_connection::mut" ref="587dcb2378c7c8ca293f89ca082fcd4c" args="" -->
-Ne7ssh_Mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>mut</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5270df356c1e379216e6864b7b4a351"></a><!-- doxytag: member="ne7ssh_connection::connected" ref="a5270df356c1e379216e6864b7b4a351" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>connected</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b88210de03f765481fa9b14897e72f9d"></a><!-- doxytag: member="ne7ssh_connection::cmdRunning" ref="b88210de03f765481fa9b14897e72f9d" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>cmdRunning</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbd6bbdac2886895424266333eb2b8b0"></a><!-- doxytag: member="ne7ssh_connection::cmdClosed" ref="fbd6bbdac2886895424266333eb2b8b0" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>cmdClosed</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="7024b9b12d517609243fb90ecd859434"></a><!-- doxytag: member="ne7ssh_connection::ne7ssh_connection" ref="7024b9b12d517609243fb90ecd859434" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_connection::ne7ssh_connection           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> class constructor. 
-</div>
-</div><p>
-<a class="anchor" name="089e8aa8fbdfded464394ee94334d36c"></a><!-- doxytag: member="ne7ssh_connection::~ne7ssh_connection" ref="089e8aa8fbdfded464394ee94334d36c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_connection::~ne7ssh_connection           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> class destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="e1103a358cc4c5e5551cc02b456f5b49"></a><!-- doxytag: member="ne7ssh_connection::authWithKey" ref="e1103a358cc4c5e5551cc02b456f5b49" args="(const char *username, const char *privKeyFileName)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::authWithKey           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>username</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends a test message to check if "publickey" authentication is allowed fo specified user. If succesfull proceeds wtih generating a signature and sending real authentication packet of "publickey" type. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>Username used for authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to file containing private key to be used in authentication. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if authentication was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00259">ne7ssh_keys::generateSignature()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00159">ne7ssh_string::getByte()</a>, <a class="el" href="ne7ssh__keys_8h_source.html#l00139">ne7ssh_keys::getKeyAlgo()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">ne7ssh_keys::getKeyPairFromFile()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00567">ne7ssh_keys::getPublicKeyBlob()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00086">ne7ssh_session::getSessionID()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">connectWithKey()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cfc0a9286778d088487e1e6eef89f9d1"></a><!-- doxytag: member="ne7ssh_connection::authWithPassword" ref="cfc0a9286778d088487e1e6eef89f9d1" args="(const char *username, const char *password)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::authWithPassword           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>username</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>password</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends an authentication request of "password" type. Waits for packet 'USERAUTH_SUCESS'. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>Username used for authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>Password used for authentication. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if authentication was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00159">ne7ssh_string::getByte()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bb114ef7885807fef7722080c9be5fa4"></a><!-- doxytag: member="ne7ssh_connection::checkRemoteVersion" ref="bb114ef7885807fef7722080c9be5fa4" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::checkRemoteVersion           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if remote side is returning a correctly formated SSH version string, and makes sure that version 2 of SSH protocol is supported by the remote side. <dl class="return" compact><dt><b>Returns:</b></dt><dd>False if version string is malformed, or version 2 is not supported, otherwise true is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00219">ne7ssh_transport::receive()</a>, and <a class="el" href="ne7ssh__session_8h_source.html#l00068">ne7ssh_session::setRemoteVersion()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4b9a9d4b26e474a175f8bacbc18e7e08"></a><!-- doxytag: member="ne7ssh_connection::connectWithKey" ref="4b9a9d4b26e474a175f8bacbc18e7e08" args="(uint32 channelID, const char *host, uint32 port, const char *username, const char *privKeyFileName, bool shell=true, int timeout=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ne7ssh_connection::connectWithKey           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>channelID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>host</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>port</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>username</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>shell</em> = <code>true</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Connects to a remote host using SSH protocol version 2, with publickey based authentication. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channelID</em>&nbsp;</td><td>ID assigned to the new channel. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>Hostname / IP of the remote host. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Connection port. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>Username to use in the authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to file containing private key to be used in authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>shell</em>&nbsp;</td><td>Set this to true if you wish to launch the shell on the remote end. By default set to true. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout for the connection procedure, in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly assigned channel ID, or -1 if connection failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">checkRemoteVersion()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00059">ne7ssh_transport::establish()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">requestService()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00275">sendLocalVersion()</a>, and <a class="el" href="ne7ssh__session_8h_source.html#l00128">ne7ssh_session::setSshChannel()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00293">ne7ssh::connectWithKey()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8078ac566bbddf9487131848d5c171d0"></a><!-- doxytag: member="ne7ssh_connection::connectWithPassword" ref="8078ac566bbddf9487131848d5c171d0" args="(uint32 channelID, const char *host, uint32 port, const char *username, const char *password, bool shell=true, int timeout=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ne7ssh_connection::connectWithPassword           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>channelID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>host</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>port</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>username</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>password</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>shell</em> = <code>true</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Connects to a remote host using SSH protocol version 2, with password based authentication. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channelID</em>&nbsp;</td><td>ID of the new channel. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>Hostname / IP of the remote host. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Connection port. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>username</em>&nbsp;</td><td>Username to use in the authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>Password to use in the authentication. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>shell</em>&nbsp;</td><td>Set this to true if you wish to launch the shell on the remote end. By default set to true. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout for the connection procedure, in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly assigned channel ID, or -1 if connection failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">authWithPassword()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">checkRemoteVersion()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00059">ne7ssh_transport::establish()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">requestService()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00275">sendLocalVersion()</a>, and <a class="el" href="ne7ssh__session_8h_source.html#l00128">ne7ssh_session::setSshChannel()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00242">ne7ssh::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="13f6f62c5d0345f1573ad5626bc8e75e"></a><!-- doxytag: member="ne7ssh_connection::data2Send" ref="13f6f62c5d0345f1573ad5626bc8e75e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::data2Send           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks for the data in the send buffer. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True is there is data to send, otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8h_source.html#l00167">ne7ssh_channel::data2Send()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8afe35dfcf55958e5578a894a9111e73"></a><!-- doxytag: member="ne7ssh_connection::getChannelNo" ref="8afe35dfcf55958e5578a894a9111e73" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int ne7ssh_connection::getChannelNo           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieves the current SSH channel. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns SSH channel or -1 if not connected. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="fec5882335c281c8fc06d951b4d59b26"></a><!-- doxytag: member="ne7ssh_connection::getCmdComplete" ref="fec5882335c281c8fc06d951b4d59b26" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::getCmdComplete           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-When executing a single command with <a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">ne7ssh::sendCmd</a> this command is used to determine when remote side finishes the xecution. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if execution of the command is complete. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8h_source.html#l00197">ne7ssh_channel::getCmdComplete()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00321">sendClose()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3aac541e10f43b83a42aef34a1fb876f"></a><!-- doxytag: member="ne7ssh_connection::getReceived" ref="3aac541e10f43b83a42aef34a1fb876f" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt;Botan::byte&gt;&amp; ne7ssh_connection::getReceived           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieves the last received packet. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A reference to a buffer containing the last received packet. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8h_source.html#l00191">ne7ssh_channel::getReceived()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00612">ne7ssh::getReceivedSize()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00556">ne7ssh::read()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00583">ne7ssh::readBinary()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ec81b2d5753f8d333de76535af5cb670"></a><!-- doxytag: member="ne7ssh_connection::getSocket" ref="ec81b2d5753f8d333de76535af5cb670" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SOCKET ne7ssh_connection::getSocket           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Retrieves the tcp socket number. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Socket, or -1 if not connected. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="e12a09bb5c6974e0b17ce957a8bf03f0"></a><!-- doxytag: member="ne7ssh_connection::handleData" ref="e12a09bb5c6974e0b17ce957a8bf03f0" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_connection::handleData           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-When new data arrives, and is available for reading, this function is called from selectThread to handle it. 
-<p>References <a class="el" href="ne7ssh__channel_8cpp_source.html#l00301">ne7ssh_channel::receive()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00146">ne7ssh::selectThread()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b82b95339f325564f83bc2cc091af995"></a><!-- doxytag: member="ne7ssh_connection::isCmdClosed" ref="b82b95339f325564f83bc2cc091af995" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::isCmdClosed           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-When executing a single command with <a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">ne7ssh::sendCmd</a> this command is used to determine when the user requested a close() on the channel. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the user requested to close the channel. Otherwise false. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="53d7ae314361b4911c8802e9fa780ae8"></a><!-- doxytag: member="ne7ssh_connection::isCmdRunning" ref="53d7ae314361b4911c8802e9fa780ae8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::isCmdRunning           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if current connection is executing a single command, without a shell. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if a single command is running. Otherwise false. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="27691577539dd356f7f872755d7053de"></a><!-- doxytag: member="ne7ssh_connection::isConnected" ref="27691577539dd356f7f872755d7053de" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::isConnected           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if process is connected and authenticated to the remote side. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if connected, otherwise false is returned. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="5062b1df08b2cdb04ee8b6b2b73f0733"></a><!-- doxytag: member="ne7ssh_connection::isOpen" ref="5062b1df08b2cdb04ee8b6b2b73f0733" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::isOpen           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if channel is open. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if channel is open, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8h_source.html#l00173">ne7ssh_channel::isOpen()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9919d63251df10e4c0d4fd695b0751c2"></a><!-- doxytag: member="ne7ssh_connection::isRemoteShell" ref="9919d63251df10e4c0d4fd695b0751c2" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::isRemoteShell           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Determines if the shell has been spawned on the remote side. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the shell has been spawned. Otherwise false. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8h_source.html#l00203">ne7ssh_channel::isRemoteShell()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a149c0df2bf930f115026633d9daf550"></a><!-- doxytag: member="ne7ssh_connection::isSftpActive" ref="a149c0df2bf930f115026633d9daf550" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::isSftpActive           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if SFTP subsystem is active on the current connection. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if SFTP subsystem is active, otherwise false. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00321">sendClose()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="fc3d154a577c422670c43dfa4c38fd0c"></a><!-- doxytag: member="ne7ssh_connection::requestService" ref="fc3d154a577c422670c43dfa4c38fd0c" args="(const char *service)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::requestService           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>service</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends an SSH service request, waits for 'SERVICE_ACCEPT' packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>service</em>&nbsp;</td><td>pointer to a string containing the requested SSH service. For example "ssh-userauth". </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True If SERVICE_ACCEPT packet was received, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f90793537ef75cbed854f4e525a5c01b"></a><!-- doxytag: member="ne7ssh_connection::sendClose" ref="f90793537ef75cbed854f4e525a5c01b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::sendClose           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to close the current connection. <p>
-First closes the channel, and then the connection itself. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True, if packet sent successfully, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__connection_8h_source.html#l00200">getCmdComplete()</a>, <a class="el" href="ne7ssh__channel_8h_source.html#l00173">ne7ssh_channel::isOpen()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00336">isSftpActive()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">ne7ssh_channel::sendClose()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00472">ne7ssh::close()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9b0770473939bb8230be993d3948017d"></a><!-- doxytag: member="ne7ssh_connection::sendCmd" ref="9b0770473939bb8230be993d3948017d" args="(const char *cmd)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::sendCmd           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>cmd</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cmd</em>&nbsp;</td><td></td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd></dd></dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00395">ne7ssh::sendCmd()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="32f5f75a2331f312d41678594e4edcd8"></a><!-- doxytag: member="ne7ssh_connection::sendData" ref="32f5f75a2331f312d41678594e4edcd8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_connection::sendData           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends the content of the buffer., <p>
-Usually used after data2Send returns true, executed by selectThread. 
-<p>References <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c809469add6347cdc78c44491746062f"></a><!-- doxytag: member="ne7ssh_connection::sendData" ref="c809469add6347cdc78c44491746062f" args="(const char *data)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_connection::sendData           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>data</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used to write commands to the buffer, later to be sent to the remote site for execution. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Pointer to a string, containing command to be written to the buffer. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">ne7ssh_channel::write()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00146">ne7ssh::selectThread()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00345">ne7ssh::send()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9bb5d840002bdf4b8a5f81fdfbee671b"></a><!-- doxytag: member="ne7ssh_connection::sendLocalVersion" ref="9bb5d840002bdf4b8a5f81fdfbee671b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_connection::sendLocalVersion           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends local version string. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns false is there any communication errors occur, otherwise true is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__transport_8cpp_source.html#l00195">ne7ssh_transport::send()</a>, and <a class="el" href="ne7ssh__session_8h_source.html#l00056">ne7ssh_session::setLocalVersion()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="717902f4f3a863309e1d013982aecd41"></a><!-- doxytag: member="ne7ssh_connection::setChannelNo" ref="717902f4f3a863309e1d013982aecd41" args="(int channelID)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_connection::setChannelNo           </td>
-          <td>(</td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>channelID</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets the current SSH channel number. 
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00293">ne7ssh::connectWithKey()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00242">ne7ssh::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cd5e5fa36d401e816ce15989d30618c7"></a><!-- doxytag: member="ne7ssh_connection::startSftp" ref="cd5e5fa36d401e816ce15989d30618c7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> * ne7ssh_connection::startSftp           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Starts a new sftp subsystem. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a pointer to the newly started <a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a> instance. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__channel_8h_source.html#l00203">ne7ssh_channel::isRemoteShell()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00364">ne7ssh::initSftp()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__connection_8h_source.html">ne7ssh_connection.h</a><li>ne7ssh_connection.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.map
deleted file mode 100644
index 1f53e7b28cd..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.map
+++ /dev/null
@@ -1,8 +0,0 @@
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="443,137,565,164">
-<area shape="rect" href="$classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="479,233,575,260">
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="504,7,613,33">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="135,7,257,33">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="8,137,115,164">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="189,137,323,164">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="716,137,863,164">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="887,137,1065,164">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.md5
deleted file mode 100644
index b74f4f60914..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__connection__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-ce68b6591bcf910222da91a135d39054
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt-members.html
deleted file mode 100644
index 581c5799723..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt-members.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_crypt Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>AES128_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>AES192_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>AES256_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#448aa6a6bc69facb7087935a8314fbd3">agree</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const char *local, Botan::SecureVector&lt; Botan::byte &gt; &amp;remote)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>BLOWFISH_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>c2sCmprsMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>c2sCryptoMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>c2sMacMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>CAST128_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cmprsMethods</b> enum name (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>compress</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#cff5dadc7aa6a359032d5de18e2bb7c0">compressData</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#295dd229c74d1e26ce9a62223605f560">compute_key</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;key, Botan::byte ID, uint32 nBytes)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#3aec4dedfe2d0c9b51879a35043d212c">computeH</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, Botan::SecureVector&lt; Botan::byte &gt; &amp;val)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#225001aa854efaaef8e11f5ba682e2ff">computeMac</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;hmac, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 seq)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cryptoMethods</b> enum name (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>decompress</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#0fba0bef677d5df589c09e81c5eeeadb">decompressData</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>decrypt</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>decryptBlock</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#0962ff3850c885c983ee6c29395086ac">decryptPacket</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;decrypted, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 len)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>DH_GROUP14_SHA1</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>DH_GROUP1_SHA1</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>encrypt</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>encryptBlock</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#0450e84788812dcd22e0c5d6b79a1614">encryptPacket</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;crypted, Botan::SecureVector&lt; Botan::byte &gt; &amp;hmac, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 seq)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#efa1d5b3cf5f6095d13704063bc4495d">getCryptAlgo</a>(uint32 crypto)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#929c7297905b9cb6c48102a8dffc5c70">getDecryptBlock</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#08adb48fb5a4b14a7b629435faf14ff1">getDHGroup14Sha1Public</a>(Botan::BigInt &amp;publicKey)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#86d91e4a71d0a6987a251593af2f7ebc">getDHGroup1Sha1Public</a>(Botan::BigInt &amp;publicKey)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#553d744f2165f49bcb0f38ccef02c3c1">getDSAKey</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#a057f7fa33d95674f201b5765cf66b00">getEncryptBlock</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#bb189c522e1e1d73173416689d22a62a">getHashAlgo</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#faa73d65add3445442f908794ea0fbf4">getHmacAlgo</a>(uint32 method)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#186ac0a5ff182c14d59be1885975405d">getKexPublic</a>(Botan::BigInt &amp;publicKey)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">getMacDigestLen</a>(uint32 method)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#3c76070368181e321c9fd1a08074cffe">getMacInLen</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#24e2ba8ce4221fe3d327cd35696968dd">getMacKeyLen</a>(uint32 method)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#bf9d9816678394c487700112ef003ec5">getMacOutLen</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#6499bc79249c369f5a25857ce4eccd53">getRSAKey</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>H</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>HMAC_MD5</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>HMAC_NONE</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>HMAC_SHA1</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>hmacIn</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>hmacOut</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>hostkeyMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>hostkeyMethods</b> enum name (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>inited</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#79b1f3d389a5d4923e7b28c3083bbfdf">isCompressed</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#8bb9cf592ff0151a89e9a0f20be192ac">isInited</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>K</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>kexMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>kexMethods</b> enum name (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>macMethods</b> enum name (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#3f5bb3646329aeba7629c0b2a6f721db">makeKexSecret</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, Botan::BigInt &amp;f)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#ceaba42fbb74e422ff53c8f4135c24f8">makeNewKeys</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#f0cf20c305e57d2dd9c7a6993a447aa4">ne7ssh_crypt</a>(ne7ssh_session *_session)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#acdaa6ad6ab255c0ac561a2bf2e5a244">negotiatedCmprsC2s</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;cmprsAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#22552971623f05e13ec30f3f1caf8ffb">negotiatedCmprsS2c</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;cmprsAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#138128d5a07f05e6877ac71dece40438">negotiatedCryptoC2s</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;cryptoAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#8ab5f2aa3ef6908133316194b6430ec3">negotiatedCryptoS2c</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;cryptoAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#12ab09c8790545b43d4f588db3dbf2e7">negotiatedHostkey</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKeyAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#d78b64cf65fc2e732c07c106ad6f3e06">negotiatedKex</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;kexAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#bf42f3c247950d28785d3e7404b62613">negotiatedMacC2s</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;macAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#5408c49468306c685ad80afb06111cf9">negotiatedMacS2c</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;macAlgo)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>NONE</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>privKexKey</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>s2cCmprsMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>s2cCryptoMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>s2cMacMethod</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>session</b> (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SSH_DSS</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SSH_RSA</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>TDES_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>TWOFISH_CBC</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#48631162f8d43e1ee7bbe682a43f0c52">verifySig</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey, Botan::SecureVector&lt; Botan::byte &gt; &amp;sig)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>ZLIB</b> enum value (defined in <a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>)</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__crypt.html#e72d6e5cb5125d4ed58ce06069aa21b2">~ne7ssh_crypt</a>()</td><td><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt.html
deleted file mode 100644
index 7202d2d2192..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt.html
+++ /dev/null
@@ -1,1362 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_crypt Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_crypt Class Reference</h1><!-- doxytag: class="ne7ssh_crypt" --><code>#include &lt;<a class="el" href="crypt_8h_source.html">crypt.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_crypt:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__crypt__coll__graph.png" border="0" usemap="#ne7ssh__crypt__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__crypt__coll__map">
-<area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="11,103,133,129"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="5,199,139,225"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__crypt-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#f0cf20c305e57d2dd9c7a6993a447aa4">ne7ssh_crypt</a> (<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *_session)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#e72d6e5cb5125d4ed58ce06069aa21b2">~ne7ssh_crypt</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#8bb9cf592ff0151a89e9a0f20be192ac">isInited</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#a057f7fa33d95674f201b5765cf66b00">getEncryptBlock</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#929c7297905b9cb6c48102a8dffc5c70">getDecryptBlock</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#bf9d9816678394c487700112ef003ec5">getMacOutLen</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#3c76070368181e321c9fd1a08074cffe">getMacInLen</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#448aa6a6bc69facb7087935a8314fbd3">agree</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const char *local, Botan::SecureVector&lt; Botan::byte &gt; &amp;remote)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#d78b64cf65fc2e732c07c106ad6f3e06">negotiatedKex</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;kexAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#12ab09c8790545b43d4f588db3dbf2e7">negotiatedHostkey</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKeyAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#138128d5a07f05e6877ac71dece40438">negotiatedCryptoC2s</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;cryptoAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#8ab5f2aa3ef6908133316194b6430ec3">negotiatedCryptoS2c</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;cryptoAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#bf42f3c247950d28785d3e7404b62613">negotiatedMacC2s</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;macAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#5408c49468306c685ad80afb06111cf9">negotiatedMacS2c</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;macAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#acdaa6ad6ab255c0ac561a2bf2e5a244">negotiatedCmprsC2s</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;cmprsAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#22552971623f05e13ec30f3f1caf8ffb">negotiatedCmprsS2c</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;cmprsAlgo)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#186ac0a5ff182c14d59be1885975405d">getKexPublic</a> (Botan::BigInt &amp;publicKey)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#3f5bb3646329aeba7629c0b2a6f721db">makeKexSecret</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;result, Botan::BigInt &amp;f)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#3aec4dedfe2d0c9b51879a35043d212c">computeH</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;result, Botan::SecureVector&lt; Botan::byte &gt; &amp;val)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#48631162f8d43e1ee7bbe682a43f0c52">verifySig</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey, Botan::SecureVector&lt; Botan::byte &gt; &amp;sig)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#ceaba42fbb74e422ff53c8f4135c24f8">makeNewKeys</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#0450e84788812dcd22e0c5d6b79a1614">encryptPacket</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;crypted, Botan::SecureVector&lt; Botan::byte &gt; &amp;hmac, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 seq)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#0962ff3850c885c983ee6c29395086ac">decryptPacket</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;decrypted, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 len)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#225001aa854efaaef8e11f5ba682e2ff">computeMac</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;hmac, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 seq)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#cff5dadc7aa6a359032d5de18e2bb7c0">compressData</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#0fba0bef677d5df589c09e81c5eeeadb">decompressData</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#79b1f3d389a5d4923e7b28c3083bbfdf">isCompressed</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>kexMethods</b> { <b>DH_GROUP1_SHA1</b>, 
-<b>DH_GROUP14_SHA1</b>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>hostkeyMethods</b> { <b>SSH_DSS</b>, 
-<b>SSH_RSA</b>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>cryptoMethods</b> { <br>
-&nbsp;&nbsp;<b>TDES_CBC</b>, 
-<b>AES128_CBC</b>, 
-<b>AES192_CBC</b>, 
-<b>AES256_CBC</b>, 
-<br>
-&nbsp;&nbsp;<b>BLOWFISH_CBC</b>, 
-<b>CAST128_CBC</b>, 
-<b>TWOFISH_CBC</b>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>macMethods</b> { <b>HMAC_SHA1</b>, 
-<b>HMAC_MD5</b>, 
-<b>HMAC_NONE</b>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>cmprsMethods</b> { <b>NONE</b>, 
-<b>ZLIB</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#86d91e4a71d0a6987a251593af2f7ebc">getDHGroup1Sha1Public</a> (Botan::BigInt &amp;publicKey)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#08adb48fb5a4b14a7b629435faf14ff1">getDHGroup14Sha1Public</a> (Botan::BigInt &amp;publicKey)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::DSA_PublicKey *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#553d744f2165f49bcb0f38ccef02c3c1">getDSAKey</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::RSA_PublicKey *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#6499bc79249c369f5a25857ce4eccd53">getRSAKey</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#bb189c522e1e1d73173416689d22a62a">getHashAlgo</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#efa1d5b3cf5f6095d13704063bc4495d">getCryptAlgo</a> (uint32 crypto)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#faa73d65add3445442f908794ea0fbf4">getHmacAlgo</a> (uint32 method)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#24e2ba8ce4221fe3d327cd35696968dd">getMacKeyLen</a> (uint32 method)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">getMacDigestLen</a> (uint32 method)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__crypt.html#295dd229c74d1e26ce9a62223605f560">compute_key</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;key, Botan::byte ID, uint32 nBytes)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15165e2b8346961680fb9fb2902712c6"></a><!-- doxytag: member="ne7ssh_crypt::session" ref="15165e2b8346961680fb9fb2902712c6" args="" -->
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>session</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="106a88ce37a59ae9a7fcd754f224ec9c"></a><!-- doxytag: member="ne7ssh_crypt::kexMethod" ref="106a88ce37a59ae9a7fcd754f224ec9c" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>kexMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f828f61929d6f1dde9a40713ce008cc8"></a><!-- doxytag: member="ne7ssh_crypt::hostkeyMethod" ref="f828f61929d6f1dde9a40713ce008cc8" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>hostkeyMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="264baf6942a1d19686d8d6d8ab1dfcc3"></a><!-- doxytag: member="ne7ssh_crypt::c2sCryptoMethod" ref="264baf6942a1d19686d8d6d8ab1dfcc3" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>c2sCryptoMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f550cfc9295560c69be1b5e8f769b164"></a><!-- doxytag: member="ne7ssh_crypt::s2cCryptoMethod" ref="f550cfc9295560c69be1b5e8f769b164" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>s2cCryptoMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ffacd482d821924c97c955eeeea4e1c"></a><!-- doxytag: member="ne7ssh_crypt::c2sMacMethod" ref="7ffacd482d821924c97c955eeeea4e1c" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>c2sMacMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11ccbaef47ca2370b98b2bfdf8f67ce3"></a><!-- doxytag: member="ne7ssh_crypt::s2cMacMethod" ref="11ccbaef47ca2370b98b2bfdf8f67ce3" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>s2cMacMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2efba4ab86e0ec7ef7766b18997ad26a"></a><!-- doxytag: member="ne7ssh_crypt::c2sCmprsMethod" ref="2efba4ab86e0ec7ef7766b18997ad26a" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>c2sCmprsMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9ba00e29ccd909593dc301723670818"></a><!-- doxytag: member="ne7ssh_crypt::s2cCmprsMethod" ref="c9ba00e29ccd909593dc301723670818" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>s2cCmprsMethod</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f38425a3487459d5920a2701458ab52"></a><!-- doxytag: member="ne7ssh_crypt::inited" ref="3f38425a3487459d5920a2701458ab52" args="" -->
-bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>inited</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62754137a3c9d953c00586702a325892"></a><!-- doxytag: member="ne7ssh_crypt::H" ref="62754137a3c9d953c00586702a325892" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>H</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="206bf64b553880cc3962b0067b950ca7"></a><!-- doxytag: member="ne7ssh_crypt::K" ref="206bf64b553880cc3962b0067b950ca7" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>K</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1995ec3e97117664a215b4567f005c68"></a><!-- doxytag: member="ne7ssh_crypt::encrypt" ref="1995ec3e97117664a215b4567f005c68" args="" -->
-Botan::Pipe *&nbsp;</td><td class="memItemRight" valign="bottom"><b>encrypt</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffb9462528e94b260ee1d9d624632bd4"></a><!-- doxytag: member="ne7ssh_crypt::decrypt" ref="ffb9462528e94b260ee1d9d624632bd4" args="" -->
-Botan::Pipe *&nbsp;</td><td class="memItemRight" valign="bottom"><b>decrypt</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78314a163d73ee07be08732f7d340078"></a><!-- doxytag: member="ne7ssh_crypt::compress" ref="78314a163d73ee07be08732f7d340078" args="" -->
-Botan::Pipe *&nbsp;</td><td class="memItemRight" valign="bottom"><b>compress</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82827a7dac694e21d7d795fcae3a9a62"></a><!-- doxytag: member="ne7ssh_crypt::decompress" ref="82827a7dac694e21d7d795fcae3a9a62" args="" -->
-Botan::Pipe *&nbsp;</td><td class="memItemRight" valign="bottom"><b>decompress</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c629ed964b59c4b5d509a0d04a3e557d"></a><!-- doxytag: member="ne7ssh_crypt::hmacOut" ref="c629ed964b59c4b5d509a0d04a3e557d" args="" -->
-Botan::HMAC *&nbsp;</td><td class="memItemRight" valign="bottom"><b>hmacOut</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38b14ce3cc4dd62d382c985e622d2ebc"></a><!-- doxytag: member="ne7ssh_crypt::hmacIn" ref="38b14ce3cc4dd62d382c985e622d2ebc" args="" -->
-Botan::HMAC *&nbsp;</td><td class="memItemRight" valign="bottom"><b>hmacIn</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af7a4fde8b3e0ab51df1fd2f0b113edc"></a><!-- doxytag: member="ne7ssh_crypt::privKexKey" ref="af7a4fde8b3e0ab51df1fd2f0b113edc" args="" -->
-Botan::DH_PrivateKey *&nbsp;</td><td class="memItemRight" valign="bottom"><b>privKexKey</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8e73a12c42aa85b1ffab6608631070b"></a><!-- doxytag: member="ne7ssh_crypt::encryptBlock" ref="d8e73a12c42aa85b1ffab6608631070b" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>encryptBlock</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08badea14f815c402ca3594cdbaa0570"></a><!-- doxytag: member="ne7ssh_crypt::decryptBlock" ref="08badea14f815c402ca3594cdbaa0570" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>decryptBlock</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="f0cf20c305e57d2dd9c7a6993a447aa4"></a><!-- doxytag: member="ne7ssh_crypt::ne7ssh_crypt" ref="f0cf20c305e57d2dd9c7a6993a447aa4" args="(ne7ssh_session *_session)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_crypt::ne7ssh_crypt           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td>
-          <td class="paramname"> <em>_session</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a> class constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_session</em>&nbsp;</td><td>Pointer to <a class="el" href="classne7ssh__session.html">ne7ssh_session</a> class. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="e72d6e5cb5125d4ed58ce06069aa21b2"></a><!-- doxytag: member="ne7ssh_crypt::~ne7ssh_crypt" ref="e72d6e5cb5125d4ed58ce06069aa21b2" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_crypt::~ne7ssh_crypt           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a> class destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="448aa6a6bc69facb7087935a8314fbd3"></a><!-- doxytag: member="ne7ssh_crypt::agree" ref="448aa6a6bc69facb7087935a8314fbd3" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const char *local, Botan::SecureVector&lt; Botan::byte &gt; &amp;remote)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::agree           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>local</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>remote</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function is used in negotiations of crypto, signing and HMAC algorithms. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>Reference to a vector where negotiated algorithm name will be dumped. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>local</em>&nbsp;</td><td>String containing a list of localy supported algorithms, separated by commas. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>remote</em>&nbsp;</td><td>Reference to vector containing a list of algorithms supported by remote side, separated by commas. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True, if common algorithm was found, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00194">ne7ssh_string::nextPart()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00172">ne7ssh_string::resetParts()</a>, and <a class="el" href="ne7ssh__string_8cpp_source.html#l00170">ne7ssh_string::split()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="cff5dadc7aa6a359032d5de18e2bb7c0"></a><!-- doxytag: member="ne7ssh_crypt::compressData" ref="cff5dadc7aa6a359032d5de18e2bb7c0" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_crypt::compressData           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Compresses the data. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>Reference to vector containing payload to be compress. Results will also be dumped into this var. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="295dd229c74d1e26ce9a62223605f560"></a><!-- doxytag: member="ne7ssh_crypt::compute_key" ref="295dd229c74d1e26ce9a62223605f560" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;key, Botan::byte ID, uint32 nBytes)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::compute_key           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>key</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::byte&nbsp;</td>
-          <td class="paramname"> <em>ID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>nBytes</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Function used to compute crypto and HMAC keys. <p>
-Keys are computed using K, H, ID and sessionID values. All these are concated and hashed. If hash is not long enough K, H, and newly generated key is used over and over again, till keys are long enough. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Resulting key will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>ID</em>&nbsp;</td><td>Single character ID, as specified in SSH protocol specs. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>nBytes</em>&nbsp;</td><td>Key length in bytes. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if key generation was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="crypt_8cpp_source.html#l00486">getHashAlgo()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00086">ne7ssh_session::getSessionID()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00587">makeNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3aec4dedfe2d0c9b51879a35043d212c"></a><!-- doxytag: member="ne7ssh_crypt::computeH" ref="3aec4dedfe2d0c9b51879a35043d212c" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, Botan::SecureVector&lt; Botan::byte &gt; &amp;val)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::computeH           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Computes H value by checking what hash algorithm is used and hashing "val". <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>H value will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Reference to vector containing material for H variable generation. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if key generation was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00301">ne7ssh_kex::makeH()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="225001aa854efaaef8e11f5ba682e2ff"></a><!-- doxytag: member="ne7ssh_crypt::computeMac" ref="225001aa854efaaef8e11f5ba682e2ff" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;hmac, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 seq)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_crypt::computeMac           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hmac</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>seq</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Computes HMAC from specific packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>hmac</em>&nbsp;</td><td>Generated HMAC value will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing packet for HMAC generation. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>receive sequence. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0fba0bef677d5df589c09e81c5eeeadb"></a><!-- doxytag: member="ne7ssh_crypt::decompressData" ref="0fba0bef677d5df589c09e81c5eeeadb" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_crypt::decompressData           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Decompresses the data. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>Reference to vector containing packet payload to decompress. Result will also be dumped into this var. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0962ff3850c885c983ee6c29395086ac"></a><!-- doxytag: member="ne7ssh_crypt::decryptPacket" ref="0962ff3850c885c983ee6c29395086ac" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;decrypted, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 len)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::decryptPacket           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>decrypted</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Decrypts a packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>decrypted</em>&nbsp;</td><td>Decrypted payload will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing encrypted packet. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Specifies the length of chunk to be decrypted. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if decryption is successful, otherwise false returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0450e84788812dcd22e0c5d6b79a1614"></a><!-- doxytag: member="ne7ssh_crypt::encryptPacket" ref="0450e84788812dcd22e0c5d6b79a1614" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;crypted, Botan::SecureVector&lt; Botan::byte &gt; &amp;hmac, Botan::SecureVector&lt; Botan::byte &gt; &amp;packet, uint32 seq)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::encryptPacket           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>crypted</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hmac</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>packet</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>seq</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Encrypts a packet and generates HMAC, if enabled during negotiation. <p>
-The entire packet is encrypted, only HMAC stays in raw format. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>crypted</em>&nbsp;</td><td>Encrypted packet will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>hmac</em>&nbsp;</td><td>HMAC will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>packet</em>&nbsp;</td><td>Reference to vector containing unencrypted packet. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>seq</em>&nbsp;</td><td>Transmited packet sequence. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if encryption successful, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="efa1d5b3cf5f6095d13704063bc4495d"></a><!-- doxytag: member="ne7ssh_crypt::getCryptAlgo" ref="efa1d5b3cf5f6095d13704063bc4495d" args="(uint32 crypto)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * ne7ssh_crypt::getCryptAlgo           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>crypto</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns a string represenation of negotiated cipher algorithm. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>crypto</em>&nbsp;</td><td>Integer represenating a cipher algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A string containing algorithm name. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00587">makeNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="929c7297905b9cb6c48102a8dffc5c70"></a><!-- doxytag: member="ne7ssh_crypt::getDecryptBlock" ref="929c7297905b9cb6c48102a8dffc5c70" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_crypt::getDecryptBlock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the size of decryption block <dl class="return" compact><dt><b>Returns:</b></dt><dd>Size of the block </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="08adb48fb5a4b14a7b629435faf14ff1"></a><!-- doxytag: member="ne7ssh_crypt::getDHGroup14Sha1Public" ref="08adb48fb5a4b14a7b629435faf14ff1" args="(Botan::BigInt &amp;publicKey)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::getDHGroup14Sha1Public           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>publicKey</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a new Public Key, based on Diffie Helman Group14, SHA1 standard. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>publicKey</em>&nbsp;</td><td>Reference to publick Key. The result will be dumped into this var. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>If generation successful returns true, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00284">getKexPublic()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="86d91e4a71d0a6987a251593af2f7ebc"></a><!-- doxytag: member="ne7ssh_crypt::getDHGroup1Sha1Public" ref="86d91e4a71d0a6987a251593af2f7ebc" args="(Botan::BigInt &amp;publicKey)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::getDHGroup1Sha1Public           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>publicKey</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a new Public Key, based on Diffie Helman Group1, SHA1 standard. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>publicKey</em>&nbsp;</td><td>Reference to publick Key. The result will be dumped into this var. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>If generation successful returns true, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00284">getKexPublic()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="553d744f2165f49bcb0f38ccef02c3c1"></a><!-- doxytag: member="ne7ssh_crypt::getDSAKey" ref="553d744f2165f49bcb0f38ccef02c3c1" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">DSA_PublicKey * ne7ssh_crypt::getDSAKey           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hostKey</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a new DSA public Key from p,q,g,y values extracted from the host key received from the server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>hostKey</em>&nbsp;</td><td>Reference to vector containing host key received from a server. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns newly generated DSA public Key. If host key vector is trash, more likely application will be aborted within <a class="el" href="namespaceBotan.html">Botan</a> library. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00135">ne7ssh_string::getBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="crypt_8cpp_source.html#l00105">negotiatedHostkey()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00323">verifySig()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a057f7fa33d95674f201b5765cf66b00"></a><!-- doxytag: member="ne7ssh_crypt::getEncryptBlock" ref="a057f7fa33d95674f201b5765cf66b00" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_crypt::getEncryptBlock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the size of encryption block. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Size of the block. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bb189c522e1e1d73173416689d22a62a"></a><!-- doxytag: member="ne7ssh_crypt::getHashAlgo" ref="bb189c522e1e1d73173416689d22a62a" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * ne7ssh_crypt::getHashAlgo           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns a string represenation of negotiated one way hash algorithm. For DH1_GROUP1_SHA1, "SHA-1" will be returned. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A string containing algorithm name. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00675">compute_key()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="faa73d65add3445442f908794ea0fbf4"></a><!-- doxytag: member="ne7ssh_crypt::getHmacAlgo" ref="faa73d65add3445442f908794ea0fbf4" args="(uint32 method)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const char * ne7ssh_crypt::getHmacAlgo           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>method</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns a string represenation of negotiated HMAC algorithm. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>method</em>&nbsp;</td><td>Integer represenating HMAC algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>A string containing algorithm name. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00587">makeNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="186ac0a5ff182c14d59be1885975405d"></a><!-- doxytag: member="ne7ssh_crypt::getKexPublic" ref="186ac0a5ff182c14d59be1885975405d" args="(Botan::BigInt &amp;publicKey)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::getKexPublic           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>publicKey</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates KEX public key. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>publicKey</em>&nbsp;</td><td>Public key will be dumped into this var. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if key generation was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="crypt_8cpp_source.html#l00470">getDHGroup14Sha1Public()</a>, <a class="el" href="crypt_8cpp_source.html#l00454">getDHGroup1Sha1Public()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="99d0844e6da0e1c692f04a00d66c436b"></a><!-- doxytag: member="ne7ssh_crypt::getMacDigestLen" ref="99d0844e6da0e1c692f04a00d66c436b" args="(uint32 method)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_crypt::getMacDigestLen           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>method</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns digest length of negotiated HMAC algorithm. <p>
-If HMAC integrity checking is enabled, this value is used in the verification process. Digest length coded in accordance with SSH protocol specs. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>method</em>&nbsp;</td><td>Integer represenation of HMAC algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Key length. </dd></dl>
-
-<p>Referenced by <a class="el" href="crypt_8h_source.html#l00201">getMacInLen()</a>, and <a class="el" href="crypt_8h_source.html#l00195">getMacOutLen()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3c76070368181e321c9fd1a08074cffe"></a><!-- doxytag: member="ne7ssh_crypt::getMacInLen" ref="3c76070368181e321c9fd1a08074cffe" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_crypt::getMacInLen           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns digest length of HMAC algorithm used to verify integrity of data received. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Digest length. </dd></dl>
-
-<p>References <a class="el" href="crypt_8cpp_source.html#l00569">getMacDigestLen()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="24e2ba8ce4221fe3d327cd35696968dd"></a><!-- doxytag: member="ne7ssh_crypt::getMacKeyLen" ref="24e2ba8ce4221fe3d327cd35696968dd" args="(uint32 method)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_crypt::getMacKeyLen           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>method</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns key length of the negotiated HMAC algorithm. <p>
-Used in HMAC key generation. Key length coded in accordance with SSH protocol specs. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>method</em>&nbsp;</td><td>Integer represenating HMAC algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Key length. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00587">makeNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bf9d9816678394c487700112ef003ec5"></a><!-- doxytag: member="ne7ssh_crypt::getMacOutLen" ref="bf9d9816678394c487700112ef003ec5" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_crypt::getMacOutLen           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns digest length of HMAC algorithm used to verify integrity of transmited data. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Digest length. </dd></dl>
-
-<p>References <a class="el" href="crypt_8cpp_source.html#l00569">getMacDigestLen()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6499bc79249c369f5a25857ce4eccd53"></a><!-- doxytag: member="ne7ssh_crypt::getRSAKey" ref="6499bc79249c369f5a25857ce4eccd53" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">RSA_PublicKey * ne7ssh_crypt::getRSAKey           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hostKey</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a new RSA public Key from n and e values extracted from the host key received from the server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>hostKey</em>&nbsp;</td><td>Reference to a vector containing host key. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns newly generated ESA public Key. If the hostkey is trash, more likely application will abort within <a class="el" href="namespaceBotan.html">Botan</a> library. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00135">ne7ssh_string::getBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="crypt_8cpp_source.html#l00105">negotiatedHostkey()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00323">verifySig()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="79b1f3d389a5d4923e7b28c3083bbfdf"></a><!-- doxytag: member="ne7ssh_crypt::isCompressed" ref="79b1f3d389a5d4923e7b28c3083bbfdf" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::isCompressed           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if compression is enabled. <dl class="return" compact><dt><b>Returns:</b></dt><dd>If compression is enabled returns true, otherwise false is returned. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="8bb9cf592ff0151a89e9a0f20be192ac"></a><!-- doxytag: member="ne7ssh_crypt::isInited" ref="8bb9cf592ff0151a89e9a0f20be192ac" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::isInited           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks if cryptographic engine has been initialized. <p>
-The engine is initialized when all crypto and hmac keys are generated and the cryptographic Pipes are created. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if cryptographic engine is initialized, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3f5bb3646329aeba7629c0b2a6f721db"></a><!-- doxytag: member="ne7ssh_crypt::makeKexSecret" ref="3f5bb3646329aeba7629c0b2a6f721db" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, Botan::BigInt &amp;f)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::makeKexSecret           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>f</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-At the end of key exchange this function is used to generate a shared secret key from private KEX key, that one gets from <a class="el" href="classne7ssh__crypt.html#186ac0a5ff182c14d59be1885975405d">getKexPublic()</a> function and F value received from a server. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>Secret key will be dumped into this var. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>Reference to F value. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if key generation was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00212">ne7ssh_string::bn2vector()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ceaba42fbb74e422ff53c8f4135c24f8"></a><!-- doxytag: member="ne7ssh_crypt::makeNewKeys" ref="ceaba42fbb74e422ff53c8f4135c24f8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::makeNewKeys           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates new cipher and HMAC keys. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if key generation was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="crypt_8cpp_source.html#l00675">compute_key()</a>, <a class="el" href="crypt_8cpp_source.html#l00500">getCryptAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00531">getHmacAlgo()</a>, and <a class="el" href="crypt_8cpp_source.html#l00550">getMacKeyLen()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="acdaa6ad6ab255c0ac561a2bf2e5a244"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedCmprsC2s" ref="acdaa6ad6ab255c0ac561a2bf2e5a244" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;cmprsAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedCmprsC2s           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>cmprsAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated client to server compression algorithm and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cmprsAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated compression algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="22552971623f05e13ec30f3f1caf8ffb"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedCmprsS2c" ref="22552971623f05e13ec30f3f1caf8ffb" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;cmprsAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedCmprsS2c           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>cmprsAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated server to client compression algorithm and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cmprsAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated compression algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="138128d5a07f05e6877ac71dece40438"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedCryptoC2s" ref="138128d5a07f05e6877ac71dece40438" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;cryptoAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedCryptoC2s           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>cryptoAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parse negotiated client to server cipher algorithm and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cryptoAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated cipher algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8ab5f2aa3ef6908133316194b6430ec3"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedCryptoS2c" ref="8ab5f2aa3ef6908133316194b6430ec3" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;cryptoAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedCryptoS2c           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>cryptoAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated server to client cipher algorithm and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cryptoAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated cipher algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="12ab09c8790545b43d4f588db3dbf2e7"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedHostkey" ref="12ab09c8790545b43d4f588db3dbf2e7" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKeyAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedHostkey           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hostKeyAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated host key algorithm and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>hostKeyAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated host key algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00400">getDSAKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00422">getRSAKey()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d78b64cf65fc2e732c07c106ad6f3e06"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedKex" ref="d78b64cf65fc2e732c07c106ad6f3e06" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;kexAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedKex           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>kexAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated key exchange algorithm vector, and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>kexAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated KEX algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bf42f3c247950d28785d3e7404b62613"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedMacC2s" ref="bf42f3c247950d28785d3e7404b62613" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;macAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedMacC2s           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>macAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated client to server HMAC algorithm and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>macAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated HMAC algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="5408c49468306c685ad80afb06111cf9"></a><!-- doxytag: member="ne7ssh_crypt::negotiatedMacS2c" ref="5408c49468306c685ad80afb06111cf9" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;macAlgo)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::negotiatedMacS2c           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>macAlgo</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Parses negotiated server to client HMAC algorithm vector and registers it's integer representation with the class. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>macAlgo</em>&nbsp;</td><td>Reference to a vector containing the negotiated HMAC algorithm. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if negotiated algorithm is recognized, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="48631162f8d43e1ee7bbe682a43f0c52"></a><!-- doxytag: member="ne7ssh_crypt::verifySig" ref="48631162f8d43e1ee7bbe682a43f0c52" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;hostKey, Botan::SecureVector&lt; Botan::byte &gt; &amp;sig)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_crypt::verifySig           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hostKey</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>sig</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Verifies host signature. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>hostKey</em>&nbsp;</td><td>Reference to vector containing hostKey. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>sig</em>&nbsp;</td><td>Regerence to vector containing the signature. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if signature verification was successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="crypt_8cpp_source.html#l00400">getDSAKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00422">getRSAKey()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="crypt_8h_source.html">crypt.h</a><li>crypt.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.map
deleted file mode 100644
index acb09cde818..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="11,103,133,129">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="5,199,139,225">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.md5
deleted file mode 100644
index a0191a6c0a9..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__crypt__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-72e4da21efe57283ea6ef8f98feb75eb
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex-members.html
deleted file mode 100644
index b87d6c42236..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex-members.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_kex Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>Ciphers</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#87bd9e1b7d1a8e785c2b72a611bd4d29">constructLocalKex</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>e</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>f</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#aca46fcf520a7033bd2a1f30ef0cbe71">handleInit</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#15b9934fc983d47bab9875108ab086ed">handleKexDHReply</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>Hmacs</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>hostKey</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>k</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>localKex</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#a16951ccf9d9a651b30c04fbcc9f2e01">makeH</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;hVector)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#ac9d99203f3719b79dd97f5842d081d8">ne7ssh_kex</a>(ne7ssh_session *_session)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>remotKex</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#f86fc5b573f9a53c031fc29957c39382">sendInit</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#d45276ccfbfa8152386a489463a320b7">sendKexDHInit</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#05c93da52330ad461cdc65bba1dc014a">sendKexNewKeys</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>session</b> (defined in <a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>)</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__kex.html#29b408432a50b3d193b3f9cd4a952782">~ne7ssh_kex</a>()</td><td><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex.html
deleted file mode 100644
index 64d7ba28820..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_kex Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_kex Class Reference</h1><!-- doxytag: class="ne7ssh_kex" --><code>#include &lt;<a class="el" href="ne7ssh__kex_8h_source.html">ne7ssh_kex.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_kex:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__kex__coll__graph.png" border="0" usemap="#ne7ssh__kex__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__kex__coll__map">
-<area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="5,7,115,33"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="249,7,372,33"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="181,188,288,215"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="353,188,487,215"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__kex-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#ac9d99203f3719b79dd97f5842d081d8">ne7ssh_kex</a> (<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *_session)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#29b408432a50b3d193b3f9cd4a952782">~ne7ssh_kex</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#f86fc5b573f9a53c031fc29957c39382">sendInit</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#aca46fcf520a7033bd2a1f30ef0cbe71">handleInit</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#d45276ccfbfa8152386a489463a320b7">sendKexDHInit</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#15b9934fc983d47bab9875108ab086ed">handleKexDHReply</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#05c93da52330ad461cdc65bba1dc014a">sendKexNewKeys</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#87bd9e1b7d1a8e785c2b72a611bd4d29">constructLocalKex</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__kex.html#a16951ccf9d9a651b30c04fbcc9f2e01">makeH</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;hVector)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1983836c6ce291a73bf40dfc8e4947df"></a><!-- doxytag: member="ne7ssh_kex::session" ref="1983836c6ce291a73bf40dfc8e4947df" args="" -->
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>session</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9cfe5de0ede00c919114094f25beab18"></a><!-- doxytag: member="ne7ssh_kex::localKex" ref="9cfe5de0ede00c919114094f25beab18" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>localKex</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8fd535cc8ff185cf5cdd06b225e4abc6"></a><!-- doxytag: member="ne7ssh_kex::remotKex" ref="8fd535cc8ff185cf5cdd06b225e4abc6" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>remotKex</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7775f1301642351ddf74865b0b5207a0"></a><!-- doxytag: member="ne7ssh_kex::hostKey" ref="7775f1301642351ddf74865b0b5207a0" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>hostKey</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47b00bc5da45ac68fc90f91712777cfb"></a><!-- doxytag: member="ne7ssh_kex::e" ref="47b00bc5da45ac68fc90f91712777cfb" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>e</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac9aa30ad0cd29c4318980d60a16dead"></a><!-- doxytag: member="ne7ssh_kex::f" ref="ac9aa30ad0cd29c4318980d60a16dead" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>f</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d28886b2ae29dc702743f8b4c1b79d83"></a><!-- doxytag: member="ne7ssh_kex::k" ref="d28886b2ae29dc702743f8b4c1b79d83" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>k</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3df645ba08764c2ab8c57042b7ed3b9"></a><!-- doxytag: member="ne7ssh_kex::Ciphers" ref="c3df645ba08764c2ab8c57042b7ed3b9" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Ciphers</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d89e22c9aac82d146ac8d6c8b8cbe569"></a><!-- doxytag: member="ne7ssh_kex::Hmacs" ref="d89e22c9aac82d146ac8d6c8b8cbe569" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Hmacs</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ac9d99203f3719b79dd97f5842d081d8"></a><!-- doxytag: member="ne7ssh_kex::ne7ssh_kex" ref="ac9d99203f3719b79dd97f5842d081d8" args="(ne7ssh_session *_session)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_kex::ne7ssh_kex           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td>
-          <td class="paramname"> <em>_session</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a> class constructor. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_session</em>&nbsp;</td><td>Pointer to <a class="el" href="classne7ssh__session.html">ne7ssh_session</a> variable. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="29b408432a50b3d193b3f9cd4a952782"></a><!-- doxytag: member="ne7ssh_kex::~ne7ssh_kex" ref="29b408432a50b3d193b3f9cd4a952782" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_kex::~ne7ssh_kex           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a> class destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="87bd9e1b7d1a8e785c2b72a611bd4d29"></a><!-- doxytag: member="ne7ssh_kex::constructLocalKex" ref="87bd9e1b7d1a8e785c2b72a611bd4d29" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_kex::constructLocalKex           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Constructs local 'KEX_INIT' payload 
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00100">ne7ssh_string::addBytes()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00194">ne7ssh_string::nextPart()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00172">ne7ssh_string::resetParts()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00170">ne7ssh_string::split()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">sendInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="aca46fcf520a7033bd2a1f30ef0cbe71"></a><!-- doxytag: member="ne7ssh_kex::handleInit" ref="aca46fcf520a7033bd2a1f30ef0cbe71" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_kex::handleInit           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-After <a class="el" href="classne7ssh__kex.html#f86fc5b573f9a53c031fc29957c39382">sendInit()</a> function returnes true, this functions is used to parse the received 'KEX_INIT' packet. <p>
-Used to agree on cipher, hmac, etc. algorithms used in communication between client and server. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if parsing was succesful and all algorithms agreed upon, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00100">ne7ssh_string::addBytes()</a>, <a class="el" href="crypt_8cpp_source.html#l00048">ne7ssh_crypt::agree()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="crypt_8cpp_source.html#l00250">ne7ssh_crypt::negotiatedCmprsC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00267">ne7ssh_crypt::negotiatedCmprsS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00122">ne7ssh_crypt::negotiatedCryptoC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00164">ne7ssh_crypt::negotiatedCryptoS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00105">ne7ssh_crypt::negotiatedHostkey()</a>, <a class="el" href="crypt_8cpp_source.html#l00088">ne7ssh_crypt::negotiatedKex()</a>, <a class="el" href="crypt_8cpp_source.html#l00206">ne7ssh_crypt::negotiatedMacC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00228">ne7ssh_crypt::negotiatedMacS2c()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="15b9934fc983d47bab9875108ab086ed"></a><!-- doxytag: member="ne7ssh_kex::handleKexDHReply" ref="15b9934fc983d47bab9875108ab086ed" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_kex::handleKexDHReply           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-After <a class="el" href="classne7ssh__kex.html#d45276ccfbfa8152386a489463a320b7">sendKexDHInit()</a> returns true, this function is used to handle the received 'KEXDH_REPLY'. <p>
-This is the function to create the shared secret K. It also extracts the host key and signature fields from the payload, generates DSA/RSA keys, and verifies the signature. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if all operations are completed successfully, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00212">ne7ssh_string::bn2vector()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00135">ne7ssh_string::getBigInt()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00401">ne7ssh_transport::getPacket()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00122">ne7ssh_string::getString()</a>, <a class="el" href="crypt_8h_source.html#l00177">ne7ssh_crypt::isInited()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00301">makeH()</a>, <a class="el" href="crypt_8cpp_source.html#l00441">ne7ssh_crypt::makeKexSecret()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00080">ne7ssh_session::setSessionID()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="crypt_8cpp_source.html#l00323">ne7ssh_crypt::verifySig()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a16951ccf9d9a651b30c04fbcc9f2e01"></a><!-- doxytag: member="ne7ssh_kex::makeH" ref="a16951ccf9d9a651b30c04fbcc9f2e01" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;hVector)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_kex::makeH           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>hVector</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Computes H hash, from concated values of the local SSH version string, remote SSH version string, local KEX_INIT payload, remote KEX_INIT payload, host key, e, f and k BigInt values. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>hVector</em>&nbsp;</td><td>Reference to a vecor where H value will be stored. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="crypt_8cpp_source.html#l00300">ne7ssh_crypt::computeH()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00062">ne7ssh_session::getLocalVersion()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00074">ne7ssh_session::getRemoteVersion()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">handleKexDHReply()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f86fc5b573f9a53c031fc29957c39382"></a><!-- doxytag: member="ne7ssh_kex::sendInit" ref="f86fc5b573f9a53c031fc29957c39382" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_kex::sendInit           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends 'KEX_INIT' packet and waits for 'KEX_INIT' reply. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">constructLocalKex()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d45276ccfbfa8152386a489463a320b7"></a><!-- doxytag: member="ne7ssh_kex::sendKexDHInit" ref="d45276ccfbfa8152386a489463a320b7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_kex::sendKexDHInit           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sends 'KEXDH_INIT' packet and waits for 'KEXDH_REPLY'. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if reply is received, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00081">ne7ssh_string::addBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00212">ne7ssh_string::bn2vector()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="crypt_8cpp_source.html#l00284">ne7ssh_crypt::getKexPublic()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="05c93da52330ad461cdc65bba1dc014a"></a><!-- doxytag: member="ne7ssh_kex::sendKexNewKeys" ref="05c93da52330ad461cdc65bba1dc014a" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_kex::sendKexNewKeys           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This function waits for 'NEWKEYS' packet from the remote host. <p>
-Once the packet is received, local 'NEWKEYS' packet is sent, all encryption and hmac keys are generated and encrypted communication is established. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if all operations are successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__session_8h_source.html#l00134">ne7ssh_session::getSshChannel()</a>, <a class="el" href="crypt_8cpp_source.html#l00587">ne7ssh_crypt::makeNewKeys()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">ne7ssh_transport::waitForPacket()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__kex_8h_source.html">ne7ssh_kex.h</a><li>ne7ssh_kex.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.map
deleted file mode 100644
index 892978342e2..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="5,7,115,33">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="249,7,372,33">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="181,188,288,215">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="353,188,487,215">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.md5
deleted file mode 100644
index 4685c290b84..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__kex__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-c6c626f9886b1a9d69d7e1660e94daa0
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys-members.html
deleted file mode 100644
index a9fbbbdc0b3..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys-members.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_keys Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>DSA</b> enum value (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>dsaPrivateKey</b> (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#4e1d32a1fcdf8599e1d9cc0f8382a5ce">generateDSAKeys</a>(const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=2048)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#77df178024644ea4fffab1354bf7a872">generateDSASignature</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#3cbce01402069e4d78a5a80f12d74ad4">generateRSAKeys</a>(const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=2048)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#79baa24130d9207119840f481bb03841">generateRSASignature</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#faf77aad8057e0a2e616040677ab696b">generateSignature</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#9dba05ee332fd2b3947807d9ef8b0a95">getDSAKeys</a>(char *buffer, uint32 size)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#70fa62aa01e0104f8d414ca0ef398cee">getKeyAlgo</a>()</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#dbc39ba71fd5b7a3c613c90d8620711b">getKeyPairFromFile</a>(const char *privKeyFileName)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#b798aaf9dcffb0098a02c3faa755c362">getPublicKeyBlob</a>()</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#faddb661a61e70eb9bc714d097d8980b">getRSAKeys</a>(char *buffer, uint32 size)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>keyAlgo</b> (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>keyAlgos</b> enum name (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#d9edaab331f5e56112d035b904a59dca">ne7ssh_keys</a>()</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>publicKeyBlob</b> (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>RSA</b> enum value (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rsaPrivateKey</b> (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>signature</b> (defined in <a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>)</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__keys.html#dbe80f9c6f7806d5909bb811b4a73cb8">~ne7ssh_keys</a>()</td><td><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys.html
deleted file mode 100644
index fe199c04891..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys.html
+++ /dev/null
@@ -1,526 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_keys Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_keys Class Reference</h1><!-- doxytag: class="ne7ssh_keys" --><code>#include &lt;<a class="el" href="ne7ssh__keys_8h_source.html">ne7ssh_keys.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_keys:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__keys__coll__graph.png" border="0" usemap="#ne7ssh__keys__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__keys__coll__map">
-<area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="5,7,115,33"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__keys-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>keyAlgos</b> { <b>DSA</b>, 
-<b>RSA</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#d9edaab331f5e56112d035b904a59dca">ne7ssh_keys</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#dbe80f9c6f7806d5909bb811b4a73cb8">~ne7ssh_keys</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#4e1d32a1fcdf8599e1d9cc0f8382a5ce">generateDSAKeys</a> (const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=2048)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#3cbce01402069e4d78a5a80f12d74ad4">generateRSAKeys</a> (const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=2048)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#dbc39ba71fd5b7a3c613c90d8620711b">getKeyPairFromFile</a> (const char *privKeyFileName)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#faf77aad8057e0a2e616040677ab696b">generateSignature</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#77df178024644ea4fffab1354bf7a872">generateDSASignature</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#79baa24130d9207119840f481bb03841">generateRSASignature</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#b798aaf9dcffb0098a02c3faa755c362">getPublicKeyBlob</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#70fa62aa01e0104f8d414ca0ef398cee">getKeyAlgo</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#9dba05ee332fd2b3947807d9ef8b0a95">getDSAKeys</a> (char *buffer, uint32 size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__keys.html#faddb661a61e70eb9bc714d097d8980b">getRSAKeys</a> (char *buffer, uint32 size)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89f62b361f52133f87a176fef11d1637"></a><!-- doxytag: member="ne7ssh_keys::dsaPrivateKey" ref="89f62b361f52133f87a176fef11d1637" args="" -->
-Botan::DSA_PrivateKey *&nbsp;</td><td class="memItemRight" valign="bottom"><b>dsaPrivateKey</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0294673cb86571d3f4184edb93984273"></a><!-- doxytag: member="ne7ssh_keys::rsaPrivateKey" ref="0294673cb86571d3f4184edb93984273" args="" -->
-Botan::RSA_PrivateKey *&nbsp;</td><td class="memItemRight" valign="bottom"><b>rsaPrivateKey</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c00fff04a5df1e158d507703ebaf0a3"></a><!-- doxytag: member="ne7ssh_keys::publicKeyBlob" ref="3c00fff04a5df1e158d507703ebaf0a3" args="" -->
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>publicKeyBlob</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0271c05bc3389b98c4a97fbe0df9ff0d"></a><!-- doxytag: member="ne7ssh_keys::signature" ref="0271c05bc3389b98c4a97fbe0df9ff0d" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>signature</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fcf211c26283f824016a50ce34c4f85a"></a><!-- doxytag: member="ne7ssh_keys::keyAlgo" ref="fcf211c26283f824016a50ce34c4f85a" args="" -->
-uint8&nbsp;</td><td class="memItemRight" valign="bottom"><b>keyAlgo</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas &lt;<a href="mailto:andrew@netsieben.com">andrew@netsieben.com</a>&gt; </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="d9edaab331f5e56112d035b904a59dca"></a><!-- doxytag: member="ne7ssh_keys::ne7ssh_keys" ref="d9edaab331f5e56112d035b904a59dca" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_keys::ne7ssh_keys           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a> constructor. 
-</div>
-</div><p>
-<a class="anchor" name="dbe80f9c6f7806d5909bb811b4a73cb8"></a><!-- doxytag: member="ne7ssh_keys::~ne7ssh_keys" ref="dbe80f9c6f7806d5909bb811b4a73cb8" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_keys::~ne7ssh_keys           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a> destructor. <dl class="return" compact><dt><b>Returns:</b></dt><dd></dd></dl>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4e1d32a1fcdf8599e1d9cc0f8382a5ce"></a><!-- doxytag: member="ne7ssh_keys::generateDSAKeys" ref="4e1d32a1fcdf8599e1d9cc0f8382a5ce" args="(const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=2048)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_keys::generateDSAKeys           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>fqdn</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>pubKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint16&nbsp;</td>
-          <td class="paramname"> <em>keySize</em> = <code>2048</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates DSA Key pair and saves keys in specified files. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fqdn</em>&nbsp;</td><td>User id. Usually an Email. For example "test@netsieben.com" </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to a file where generated private key should be written. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>pubKeyFileName</em>&nbsp;</td><td>Full path to a file where generated public key should be written. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>keySize</em>&nbsp;</td><td>Desired key size in bits. If not specified will default to 2048. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if keys generated and written to the files. Otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00081">ne7ssh_string::addBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00726">ne7ssh::generateKeyPair()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="77df178024644ea4fffab1354bf7a872"></a><!-- doxytag: member="ne7ssh_keys::generateDSASignature" ref="77df178024644ea4fffab1354bf7a872" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SecureVector&lt; Botan::byte &gt; ne7ssh_keys::generateDSASignature           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>sessionID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>signingData</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a SHA-1 signature from sessionID and packet data provided, using DSA private key initialized before. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>sessionID</em>&nbsp;</td><td>SSH2 SessionID. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>signingData</em>&nbsp;</td><td>Packet data to sign. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns signature, or 0 length vector if operation failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__keys_8cpp_source.html#l00259">generateSignature()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="3cbce01402069e4d78a5a80f12d74ad4"></a><!-- doxytag: member="ne7ssh_keys::generateRSAKeys" ref="3cbce01402069e4d78a5a80f12d74ad4" args="(const char *fqdn, const char *privKeyFileName, const char *pubKeyFileName, uint16 keySize=2048)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_keys::generateRSAKeys           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>fqdn</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>pubKeyFileName</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint16&nbsp;</td>
-          <td class="paramname"> <em>keySize</em> = <code>2048</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates RSA Key pair and saves keys in specified files. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>fqdn</em>&nbsp;</td><td>User id. Usually an Email. For example "test@netsieben.com" </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to a file where generated private key should be written. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>pubKeyFileName</em>&nbsp;</td><td>Full path to a file where generated public key should be written. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>keySize</em>&nbsp;</td><td>Desired key size in bits. If not specified will default to 2048. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if keys generated and written to the files. Otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00081">ne7ssh_string::addBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00726">ne7ssh::generateKeyPair()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="79baa24130d9207119840f481bb03841"></a><!-- doxytag: member="ne7ssh_keys::generateRSASignature" ref="79baa24130d9207119840f481bb03841" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SecureVector&lt; Botan::byte &gt; ne7ssh_keys::generateRSASignature           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>sessionID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>signingData</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a SHA-1 signature from sessionID and packet data provided, using DSA private key initialized before. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>sessionID</em>&nbsp;</td><td>SSH2 SessionID. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>signingData</em>&nbsp;</td><td>Packet data to sign. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns signature, or 0 length vector if operation failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00091">ne7ssh_string::addVectorField()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__keys_8cpp_source.html#l00259">generateSignature()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="faf77aad8057e0a2e616040677ab696b"></a><!-- doxytag: member="ne7ssh_keys::generateSignature" ref="faf77aad8057e0a2e616040677ab696b" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;sessionID, Botan::SecureVector&lt; Botan::byte &gt; &amp;signingData)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SecureVector&lt; Botan::byte &gt; &amp; ne7ssh_keys::generateSignature           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>sessionID</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>signingData</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Generates a SHA-1 signature from sessionID and packet data provided. <p>
-Determines key type and passed the processing either to <a class="el" href="classne7ssh__keys.html#77df178024644ea4fffab1354bf7a872">generateDSASignature()</a> or <a class="el" href="classne7ssh__keys.html#3cbce01402069e4d78a5a80f12d74ad4">generateRSAKeys()</a> functions. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>sessionID</em>&nbsp;</td><td>SSH2 SessionID. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>signingData</em>&nbsp;</td><td>Packet data to sign. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns signature, or 0 length vector if operation failed. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">generateDSASignature()</a>, and <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">generateRSASignature()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="9dba05ee332fd2b3947807d9ef8b0a95"></a><!-- doxytag: member="ne7ssh_keys::getDSAKeys" ref="9dba05ee332fd2b3947807d9ef8b0a95" args="(char *buffer, uint32 size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_keys::getDSAKeys           </td>
-          <td>(</td>
-          <td class="paramtype">char *&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts DSA key pair from a PEM encoded stream. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>PEM encoded string. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Length of the stream. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if keys succesfully extracted. Otherwise False is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00081">ne7ssh_string::addBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">getKeyPairFromFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="70fa62aa01e0104f8d414ca0ef398cee"></a><!-- doxytag: member="ne7ssh_keys::getKeyAlgo" ref="70fa62aa01e0104f8d414ca0ef398cee" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint8 ne7ssh_keys::getKeyAlgo           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns type of initialized keys. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Type of keys. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="dbc39ba71fd5b7a3c613c90d8620711b"></a><!-- doxytag: member="ne7ssh_keys::getKeyPairFromFile" ref="dbc39ba71fd5b7a3c613c90d8620711b" args="(const char *privKeyFileName)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_keys::getKeyPairFromFile           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>privKeyFileName</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts key pair from a PEM encoded file. <p>
-Reads the file and determines the type of key, then passes processing to either getDsaKeys() or getRSAKeys(*) functions. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>privKeyFileName</em>&nbsp;</td><td>Full path to PEM encoded file. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if key succesfully extracted, otherwise False is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00057">ne7ssh_string::addFile()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00427">getDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00500">getRSAKeys()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00135">ne7ssh_string::length()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b798aaf9dcffb0098a02c3faa755c362"></a><!-- doxytag: member="ne7ssh_keys::getPublicKeyBlob" ref="b798aaf9dcffb0098a02c3faa755c362" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SecureVector&lt; Botan::byte &gt; &amp; ne7ssh_keys::getPublicKeyBlob           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-After key pair has been initialized, this function returns public key blob, as specified by SSH2 specs. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Public key blob or zero length vector, if there are initialized keys. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="faddb661a61e70eb9bc714d097d8980b"></a><!-- doxytag: member="ne7ssh_keys::getRSAKeys" ref="faddb661a61e70eb9bc714d097d8980b" args="(char *buffer, uint32 size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_keys::getRSAKeys           </td>
-          <td>(</td>
-          <td class="paramtype">char *&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts RSA key pair from a PEM encoded stream. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>PEM encoded string. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Length of the stream. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if keys succesfully extracted. Otherwise False is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00081">ne7ssh_string::addBigInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">ne7ssh_string::addString()</a>, <a class="el" href="ne7ssh__string_8h_source.html#l00066">ne7ssh_string::clear()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">getKeyPairFromFile()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__keys_8h_source.html">ne7ssh_keys.h</a><li>ne7ssh_keys.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.map
deleted file mode 100644
index 28bba305867..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="5,7,115,33">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.md5
deleted file mode 100644
index 96a712790ec..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__keys__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-b0e2e8f8f6e9dbf06d7b20a0e23b73c3
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session-members.html
deleted file mode 100644
index 1c71879f867..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session-members.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_session Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>channelID</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>crypto</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#dcb13b996558fee795ab500ac3cbf000">getLocalVersion</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#2e6c8dc645b3fdef0b20dd31baacb7f4">getMaxPacket</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#c5d8bc40373b415f9bd436e205fb4716">getReceiveChannel</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#b2d1c655d8c81ab6bfb170235044ebc1">getRemoteVersion</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#00db97d25e6a85ebe34cace7eecad778">getSendChannel</a>() const </td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#5fdb932109c9f9dcedbe5be2b6c166ec">getSessionID</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#94dc706e3fd3119b887bdefaf2fe9dda">getSshChannel</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>localVersion</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>maxPacket</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#7a369998cf07127098ac4ea5a7c14ee0">ne7ssh_session</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>receiveChannel</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>remoteVersion</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sendChannel</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sessionID</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#839dfb6558383f481f0223d45c096bcd">setLocalVersion</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;version)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#499c1ccb25eafd7f7074b98d3ae60eb3">setMaxPacket</a>(uint32 size)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#4d6e88cea05265988d81aeff39aa9239">setReceiveChannel</a>(uint32 channel)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#17733deec9178fec1a48eabd06742ea9">setRemoteVersion</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;version)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#e470ff2211464c8d9ba16d6f313a5a3a">setSendChannel</a>(uint32 channel)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#eb3056339c4d4852a24f9ead0b065104">setSessionID</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;session)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#f58965a25e570cc4076322eee96aa9f0">setSshChannel</a>(int32 channel)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>transport</b> (defined in <a class="el" href="classne7ssh__session.html">ne7ssh_session</a>)</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__session.html#f1190264bc6469759a9644351610e591">~ne7ssh_session</a>()</td><td><a class="el" href="classne7ssh__session.html">ne7ssh_session</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session.html
deleted file mode 100644
index fec4e08805f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session.html
+++ /dev/null
@@ -1,494 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_session Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_session Class Reference</h1><!-- doxytag: class="ne7ssh_session" --><code>#include &lt;<a class="el" href="ne7ssh__session_8h_source.html">ne7ssh_session.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_session:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__session__coll__graph.png" border="0" usemap="#ne7ssh__session__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__session__coll__map">
-<area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="5,103,112,129"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="177,103,311,129"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__session-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#7a369998cf07127098ac4ea5a7c14ee0">ne7ssh_session</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#f1190264bc6469759a9644351610e591">~ne7ssh_session</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#839dfb6558383f481f0223d45c096bcd">setLocalVersion</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;version)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#dcb13b996558fee795ab500ac3cbf000">getLocalVersion</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#17733deec9178fec1a48eabd06742ea9">setRemoteVersion</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;version)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#b2d1c655d8c81ab6bfb170235044ebc1">getRemoteVersion</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#eb3056339c4d4852a24f9ead0b065104">setSessionID</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;session)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#5fdb932109c9f9dcedbe5be2b6c166ec">getSessionID</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#e470ff2211464c8d9ba16d6f313a5a3a">setSendChannel</a> (uint32 channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#00db97d25e6a85ebe34cace7eecad778">getSendChannel</a> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#4d6e88cea05265988d81aeff39aa9239">setReceiveChannel</a> (uint32 channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#c5d8bc40373b415f9bd436e205fb4716">getReceiveChannel</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#499c1ccb25eafd7f7074b98d3ae60eb3">setMaxPacket</a> (uint32 size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#2e6c8dc645b3fdef0b20dd31baacb7f4">getMaxPacket</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#f58965a25e570cc4076322eee96aa9f0">setSshChannel</a> (int32 channel)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__session.html#94dc706e3fd3119b887bdefaf2fe9dda">getSshChannel</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4c65d14f4abae152245615904a8c2d2"></a><!-- doxytag: member="ne7ssh_session::transport" ref="d4c65d14f4abae152245615904a8c2d2" args="" -->
-<a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>transport</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="161f59fb6880a0f02443735edfbfc6b4"></a><!-- doxytag: member="ne7ssh_session::crypto" ref="161f59fb6880a0f02443735edfbfc6b4" args="" -->
-<a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>crypto</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8831e7dde99481f4d0510f7654ed5c4c"></a><!-- doxytag: member="ne7ssh_session::localVersion" ref="8831e7dde99481f4d0510f7654ed5c4c" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>localVersion</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f7ddffc681a5eb083689402a678e81fe"></a><!-- doxytag: member="ne7ssh_session::remoteVersion" ref="f7ddffc681a5eb083689402a678e81fe" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>remoteVersion</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a358bc857b134229fbd59616f112749"></a><!-- doxytag: member="ne7ssh_session::sessionID" ref="0a358bc857b134229fbd59616f112749" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>sessionID</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc35ff0529f975c000f4a59c37f8bbe6"></a><!-- doxytag: member="ne7ssh_session::sendChannel" ref="bc35ff0529f975c000f4a59c37f8bbe6" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>sendChannel</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b137a31b3f486adbc89d0a6398b17da"></a><!-- doxytag: member="ne7ssh_session::receiveChannel" ref="4b137a31b3f486adbc89d0a6398b17da" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>receiveChannel</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2708be5628ccf22c0049148aa899e66"></a><!-- doxytag: member="ne7ssh_session::maxPacket" ref="e2708be5628ccf22c0049148aa899e66" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>maxPacket</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d6ebbd71b18d690953816d8cb297d0c"></a><!-- doxytag: member="ne7ssh_session::channelID" ref="7d6ebbd71b18d690953816d8cb297d0c" args="" -->
-int32&nbsp;</td><td class="memItemRight" valign="bottom"><b>channelID</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="7a369998cf07127098ac4ea5a7c14ee0"></a><!-- doxytag: member="ne7ssh_session::ne7ssh_session" ref="7a369998cf07127098ac4ea5a7c14ee0" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_session::ne7ssh_session           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> class constructor. 
-</div>
-</div><p>
-<a class="anchor" name="f1190264bc6469759a9644351610e591"></a><!-- doxytag: member="ne7ssh_session::~ne7ssh_session" ref="f1190264bc6469759a9644351610e591" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_session::~ne7ssh_session           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> class desctructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="dcb13b996558fee795ab500ac3cbf000"></a><!-- doxytag: member="ne7ssh_session::getLocalVersion" ref="dcb13b996558fee795ab500ac3cbf000" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt;Botan::byte&gt;&amp; ne7ssh_session::getLocalVersion           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns local SSH version. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to a vector containing the version string. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00301">ne7ssh_kex::makeH()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2e6c8dc645b3fdef0b20dd31baacb7f4"></a><!-- doxytag: member="ne7ssh_session::getMaxPacket" ref="2e6c8dc645b3fdef0b20dd31baacb7f4" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_session::getMaxPacket           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns maximum send packet size. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Maximum packet size. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">ne7ssh_channel::sendAdjustWindow()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">ne7ssh_channel::write()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c5d8bc40373b415f9bd436e205fb4716"></a><!-- doxytag: member="ne7ssh_session::getReceiveChannel" ref="c5d8bc40373b415f9bd436e205fb4716" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_session::getReceiveChannel           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the receive channel ID. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Channel ID. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="b2d1c655d8c81ab6bfb170235044ebc1"></a><!-- doxytag: member="ne7ssh_session::getRemoteVersion" ref="b2d1c655d8c81ab6bfb170235044ebc1" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt;Botan::byte&gt;&amp; ne7ssh_session::getRemoteVersion           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns remote SSH version. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to a vector containing the version string. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00301">ne7ssh_kex::makeH()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="00db97d25e6a85ebe34cace7eecad778"></a><!-- doxytag: member="ne7ssh_session::getSendChannel" ref="00db97d25e6a85ebe34cace7eecad778" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_session::getSendChannel           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the send channel ID. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Channel ID. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">Ne7sshSftp::closeFile()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">Ne7sshSftp::getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">Ne7sshSftp::getFStat()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">Ne7sshSftp::readFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">ne7ssh_channel::sendAdjustWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">ne7ssh_channel::sendClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00155">ne7ssh_channel::sendEof()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">Ne7sshSftp::writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="5fdb932109c9f9dcedbe5be2b6c166ec"></a><!-- doxytag: member="ne7ssh_session::getSessionID" ref="5fdb932109c9f9dcedbe5be2b6c166ec" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::SecureVector&lt;Botan::byte&gt;&amp; ne7ssh_session::getSessionID           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the current SSH session ID. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to a vector containing the session ID. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, and <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="94dc706e3fd3119b887bdefaf2fe9dda"></a><!-- doxytag: member="ne7ssh_session::getSshChannel" ref="94dc706e3fd3119b887bdefaf2fe9dda" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int32 ne7ssh_session::getSshChannel           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-REtrieves current <a class="el" href="classne7ssh.html">ne7ssh</a> channel. <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classne7ssh.html">ne7ssh</a> channel or -1 if the session hasn't succesfully opened the channel yet. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">ne7ssh_connection::checkRemoteVersion()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00576">Ne7sshSftp::closeFile()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="crypt_8cpp_source.html#l00300">ne7ssh_crypt::computeH()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00829">Ne7sshSftp::get()</a>, <a class="el" href="crypt_8cpp_source.html#l00500">ne7ssh_crypt::getCryptAlgo()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">Ne7sshSftp::getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00665">Ne7sshSftp::getFileHandle()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00742">Ne7sshSftp::getFileSize()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">Ne7sshSftp::getFileStats()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00714">Ne7sshSftp::getFStat()</a>, <a class="el" href="crypt_8cpp_source.html#l00486">ne7ssh_crypt::getHashAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00531">ne7ssh_crypt::getHmacAlgo()</a>, <a class="el" href="crypt_8cpp_source.html#l00284">ne7ssh_crypt::getKexPublic()</a>, <a class="el" href="crypt_8cpp_source.html#l00550">ne7ssh_crypt::getMacKeyLen()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00124">ne7ssh_channel::handleDisconnect()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00102">ne7ssh_channel::handleEof()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">ne7ssh_channel::handleExtendedData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">ne7ssh_channel::handleRequest()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">Ne7sshSftp::handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00249">Ne7sshSftp::handleStatus()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00232">Ne7sshSftp::handleVersion()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">Ne7sshSftp::isType()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>, <a class="el" href="crypt_8cpp_source.html#l00250">ne7ssh_crypt::negotiatedCmprsC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00267">ne7ssh_crypt::negotiatedCmprsS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00122">ne7ssh_crypt::negotiatedCryptoC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00164">ne7ssh_crypt::negotiatedCryptoS2c()</a>, <a class="el" href="crypt_8cpp_source.html#l00105">ne7ssh_crypt::negotiatedHostkey()</a>, <a class="el" href="crypt_8cpp_source.html#l00088">ne7ssh_crypt::negotiatedKex()</a>, <a class="el" href="crypt_8cpp_source.html#l00206">ne7ssh_crypt::negotiatedMacC2s()</a>, <a class="el" href="crypt_8cpp_source.html#l00228">ne7ssh_crypt::negotiatedMacS2c()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00874">Ne7sshSftp::put()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00479">Ne7sshSftp::readFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">Ne7sshSftp::receiveWindowAdjust()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00302">ne7ssh_connection::startSftp()</a>, <a class="el" href="crypt_8cpp_source.html#l00323">ne7ssh_crypt::verifySig()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00511">Ne7sshSftp::writeFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="839dfb6558383f481f0223d45c096bcd"></a><!-- doxytag: member="ne7ssh_session::setLocalVersion" ref="839dfb6558383f481f0223d45c096bcd" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;version)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setLocalVersion           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>version</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets the local SSH version string. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>version</em>&nbsp;</td><td>Reference to a vector containing the version string. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00275">ne7ssh_connection::sendLocalVersion()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="499c1ccb25eafd7f7074b98d3ae60eb3"></a><!-- doxytag: member="ne7ssh_session::setMaxPacket" ref="499c1ccb25eafd7f7074b98d3ae60eb3" args="(uint32 size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setMaxPacket           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>size</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets maximum send packet size. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>Maximum packet size. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00063">ne7ssh_channel::handleChannelConfirm()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4d6e88cea05265988d81aeff39aa9239"></a><!-- doxytag: member="ne7ssh_session::setReceiveChannel" ref="4d6e88cea05265988d81aeff39aa9239" args="(uint32 channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setReceiveChannel           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-After the channel is open this function sets the receive channel ID. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel ID. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="17733deec9178fec1a48eabd06742ea9"></a><!-- doxytag: member="ne7ssh_session::setRemoteVersion" ref="17733deec9178fec1a48eabd06742ea9" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;version)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setRemoteVersion           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>version</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets the remote SSH version string. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>version</em>&nbsp;</td><td>Reference to a vector containing the version string. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">ne7ssh_connection::checkRemoteVersion()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e470ff2211464c8d9ba16d6f313a5a3a"></a><!-- doxytag: member="ne7ssh_session::setSendChannel" ref="e470ff2211464c8d9ba16d6f313a5a3a" args="(uint32 channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setSendChannel           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-After the channel is open this function sets the send channel ID. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>Channel ID. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00063">ne7ssh_channel::handleChannelConfirm()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="eb3056339c4d4852a24f9ead0b065104"></a><!-- doxytag: member="ne7ssh_session::setSessionID" ref="eb3056339c4d4852a24f9ead0b065104" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;session)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setSessionID           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>session</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets SSH session ID, a.k.a. H from the first KEX. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>session</em>&nbsp;</td><td>Reference to a vector containing the session ID. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f58965a25e570cc4076322eee96aa9f0"></a><!-- doxytag: member="ne7ssh_session::setSshChannel" ref="f58965a25e570cc4076322eee96aa9f0" args="(int32 channel)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_session::setSshChannel           </td>
-          <td>(</td>
-          <td class="paramtype">int32&nbsp;</td>
-          <td class="paramname"> <em>channel</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Stores newly created <a class="el" href="classne7ssh.html">ne7ssh</a> channel. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td><a class="el" href="classne7ssh.html">ne7ssh</a> channel. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__session_8h_source.html">ne7ssh_session.h</a><li>ne7ssh_session.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.map
deleted file mode 100644
index 1d4d8540da5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="5,103,112,129">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="177,103,311,129">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.md5
deleted file mode 100644
index eb206efc763..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__session__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5a1d3b6712725f15bca94f2095e25ebe
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string-members.html
deleted file mode 100644
index 33c19412b92..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string-members.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_string Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__string.html">ne7ssh_string</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#477f55539eb249bda2a7c311f2639437">addBigInt</a>(const Botan::BigInt &amp;bn)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#4bf8792affeb750976e18f658eeba5ee">addBytes</a>(const Botan::byte *buff, uint32 len)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#b746c998869885e043ff1db422c8ebf5">addChar</a>(const char ch)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#2fdcd0fa8215c6ce73ec8dc61f7ae8c5">addFile</a>(const char *filename)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#387c791ce256b9a3747f654596b5945f">addInt</a>(const uint32 var)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#28ea3ddaf5f19c6202bd173c990ed835">addString</a>(const char *str)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#f0e0658970d00f271b5053130e294ee4">addVector</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;secvec)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#e5925806510ef106e1435640b6010bc7">addVectorField</a>(const Botan::SecureVector&lt; Botan::byte &gt; &amp;vector)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#7c1276275a551da4dc460a7f9e8884eb">bn2vector</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const Botan::BigInt &amp;bi)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>buffer</b> (defined in <a class="el" href="classne7ssh__string.html">ne7ssh_string</a>)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#722e2787d24d59b0432fa9a1b38f0aa2">chop</a>(uint32 nBytes)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">clear</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>currentPart</b> (defined in <a class="el" href="classne7ssh__string.html">ne7ssh_string</a>)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#f0e1783a46f61bce09daa9cbd3a1a64b">getBigInt</a>(Botan::BigInt &amp;result)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#231e8c002067934db84921f4bdc1c467">getByte</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#d7cb4926f971ecbe25a03bca59d0e6bb">getInt</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#6437d3125dd58e4d71bd0e0351a315ec">getString</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">length</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#be71d3df44c082323c12fb14ceb3b23e">ne7ssh_string</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#e4d4951b32a58f171e225194c4d0e873">ne7ssh_string</a>(const char *var, uint32 position)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#198a4c462ea4e73314c81003f09c98bd">nextPart</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>parts</b> (defined in <a class="el" href="classne7ssh__string.html">ne7ssh_string</a>)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>positions</b> (defined in <a class="el" href="classne7ssh__string.html">ne7ssh_string</a>)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">resetParts</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#47f06a2606e6982a2741de59be7ea786">split</a>(const char token)</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">value</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__string.html#0b8fd6571f6e272c199521d1badecea6">~ne7ssh_string</a>()</td><td><a class="el" href="classne7ssh__string.html">ne7ssh_string</a></td><td><code> [virtual]</code></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string.html
deleted file mode 100644
index 01a716a2628..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string.html
+++ /dev/null
@@ -1,766 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_string Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_string Class Reference</h1><!-- doxytag: class="ne7ssh_string" --><code>#include &lt;<a class="el" href="ne7ssh__string_8h_source.html">ne7ssh_string.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Inheritance diagram for ne7ssh_string:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__string__inherit__graph.png" border="0" usemap="#ne7ssh__string__inherit__map" alt="Inheritance graph"></center>
-<map name="ne7ssh__string__inherit__map">
-<area shape="rect" href="classNe7sshSftpPacket.html" title="Ne7sshSftpPacket" alt="" coords="5,84,144,111"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__string-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#be71d3df44c082323c12fb14ceb3b23e">ne7ssh_string</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#e4d4951b32a58f171e225194c4d0e873">ne7ssh_string</a> (const char *var, uint32 position)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#0b8fd6571f6e272c199521d1badecea6">~ne7ssh_string</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">clear</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#28ea3ddaf5f19c6202bd173c990ed835">addString</a> (const char *str)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#2fdcd0fa8215c6ce73ec8dc61f7ae8c5">addFile</a> (const char *filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#4bf8792affeb750976e18f658eeba5ee">addBytes</a> (const Botan::byte *buff, uint32 len)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#f0e0658970d00f271b5053130e294ee4">addVector</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;secvec)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#e5925806510ef106e1435640b6010bc7">addVectorField</a> (const Botan::SecureVector&lt; Botan::byte &gt; &amp;vector)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#b746c998869885e043ff1db422c8ebf5">addChar</a> (const char ch)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#387c791ce256b9a3747f654596b5945f">addInt</a> (const uint32 var)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#477f55539eb249bda2a7c311f2639437">addBigInt</a> (const Botan::BigInt &amp;bn)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual Botan::SecureVector<br class="typebreak">
-&lt; Botan::byte &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">value</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">length</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#6437d3125dd58e4d71bd0e0351a315ec">getString</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;result)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#f0e1783a46f61bce09daa9cbd3a1a64b">getBigInt</a> (Botan::BigInt &amp;result)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#d7cb4926f971ecbe25a03bca59d0e6bb">getInt</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">Botan::byte&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#231e8c002067934db84921f4bdc1c467">getByte</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#47f06a2606e6982a2741de59be7ea786">split</a> (const char token)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">resetParts</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#198a4c462ea4e73314c81003f09c98bd">nextPart</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#722e2787d24d59b0432fa9a1b38f0aa2">chop</a> (uint32 nBytes)</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__string.html#7c1276275a551da4dc460a7f9e8884eb">bn2vector</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const Botan::BigInt &amp;bi)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0ff1a219f2a6fa5077e7fcf0624fc30"></a><!-- doxytag: member="ne7ssh_string::buffer" ref="d0ff1a219f2a6fa5077e7fcf0624fc30" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>buffer</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2a1ee69d077818781f7488316f4db9f"></a><!-- doxytag: member="ne7ssh_string::positions" ref="c2a1ee69d077818781f7488316f4db9f" args="" -->
-Botan::byte **&nbsp;</td><td class="memItemRight" valign="bottom"><b>positions</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06551b0d7991a55ef812939744611cff"></a><!-- doxytag: member="ne7ssh_string::parts" ref="06551b0d7991a55ef812939744611cff" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>parts</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8d1584b4a2becfde5ccd47a24f805f2"></a><!-- doxytag: member="ne7ssh_string::currentPart" ref="c8d1584b4a2becfde5ccd47a24f805f2" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>currentPart</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="b4419d40aa0e062b15741e30b5c6f9d4"></a><!-- doxytag: member="ne7ssh_string::ne7ssh_string" ref="b4419d40aa0e062b15741e30b5c6f9d4" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_string::ne7ssh_string           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a> class default consturctor. <p>
-Zeros out 'positions' and 'parts'. 
-</div>
-</div><p>
-<a class="anchor" name="be71d3df44c082323c12fb14ceb3b23e"></a><!-- doxytag: member="ne7ssh_string::ne7ssh_string" ref="be71d3df44c082323c12fb14ceb3b23e" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;var, uint32 position)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_string::ne7ssh_string           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a> class consturctor. <p>
-Takes a vector as an argument and places the data into 'buffer'. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>Reference to a vector containing a string. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>Position in the vector to start reading from. If '0', the entire vector is dumped into 'buffer'. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="e4d4951b32a58f171e225194c4d0e873"></a><!-- doxytag: member="ne7ssh_string::ne7ssh_string" ref="e4d4951b32a58f171e225194c4d0e873" args="(const char *var, uint32 position)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_string::ne7ssh_string           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>var</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Same as above costructor, but instead of vector it works with a string (const char*). <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>Pointer to a string terminated by '/0'. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>Read from this position onwards. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="0b8fd6571f6e272c199521d1badecea6"></a><!-- doxytag: member="ne7ssh_string::~ne7ssh_string" ref="0b8fd6571f6e272c199521d1badecea6" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_string::~ne7ssh_string           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__string.html">ne7ssh_string</a> class destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="477f55539eb249bda2a7c311f2639437"></a><!-- doxytag: member="ne7ssh_string::addBigInt" ref="477f55539eb249bda2a7c311f2639437" args="(const Botan::BigInt &amp;bn)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addBigInt           </td>
-          <td>(</td>
-          <td class="paramtype">const Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>bn</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a BigInt variable to the buffer. <p>
-BigInt is first converted to a vector, then the integer, representing length of the vector is converted to the network format. Converted ingeger is added to the buffer, followed by the vector. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>bn</em>&nbsp;</td><td>Reference to BigInt variable. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00212">bn2vector()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__keys_8cpp_source.html#l00157">ne7ssh_keys::generateDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00037">ne7ssh_keys::generateRSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00427">ne7ssh_keys::getDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00500">ne7ssh_keys::getRSAKeys()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="4bf8792affeb750976e18f658eeba5ee"></a><!-- doxytag: member="ne7ssh_string::addBytes" ref="4bf8792affeb750976e18f658eeba5ee" args="(const Botan::byte *buff, uint32 len)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addBytes           </td>
-          <td>(</td>
-          <td class="paramtype">const Botan::byte *&nbsp;</td>
-          <td class="paramname"> <em>buff</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a byte stream to the buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buff</em>&nbsp;</td><td>Pointer to the byte stream. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Length of the byte stream. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00080">Ne7sshSftpPacket::addInt64()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b746c998869885e043ff1db422c8ebf5"></a><!-- doxytag: member="ne7ssh_string::addChar" ref="b746c998869885e043ff1db422c8ebf5" args="(const char ch)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addChar           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>ch</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a single character to the buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>a single character. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">ne7ssh_channel::sendAdjustWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">ne7ssh_channel::sendClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00155">ne7ssh_channel::sendEof()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00038">Ne7sshSftpPacket::value()</a>, and <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00057">Ne7sshSftpPacket::valueFragment()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="2fdcd0fa8215c6ce73ec8dc61f7ae8c5"></a><!-- doxytag: member="ne7ssh_string::addFile" ref="2fdcd0fa8215c6ce73ec8dc61f7ae8c5" args="(const char *filename)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_string::addFile           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>filename</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Reads content of an ASCII file and appends it to the buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>Full path to ASCII file. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True is file is successfully read. Otherwise False is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">ne7ssh_keys::getKeyPairFromFile()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="387c791ce256b9a3747f654596b5945f"></a><!-- doxytag: member="ne7ssh_string::addInt" ref="387c791ce256b9a3747f654596b5945f" args="(const uint32 var)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addInt           </td>
-          <td>(</td>
-          <td class="paramtype">const uint32&nbsp;</td>
-          <td class="paramname"> <em>var</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a single integer to the buffer. <p>
-Integer is converted to network format as required by SSH protocol specifications. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>a single integer. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">Ne7sshSftp::handleNames()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">ne7ssh_channel::sendAdjustWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">ne7ssh_channel::sendClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00155">ne7ssh_channel::sendEof()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00038">Ne7sshSftpPacket::value()</a>, and <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00057">Ne7sshSftpPacket::valueFragment()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="28ea3ddaf5f19c6202bd173c990ed835"></a><!-- doxytag: member="ne7ssh_string::addString" ref="28ea3ddaf5f19c6202bd173c990ed835" args="(const char *str)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addString           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>str</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a string to the buffer. <p>
-Adds an integer representing the length of the string, converted to the network format, before the actual string data. Required by SSH protocol specifications. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>pointer to a string. </td></tr>
-  </table>
-</dl>
-
-<p>References <a class="el" href="ne7ssh__string_8h_source.html#l00129">value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00157">ne7ssh_keys::generateDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00037">ne7ssh_keys::generateRSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">ne7ssh_keys::generateRSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00427">ne7ssh_keys::getDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00500">ne7ssh_keys::getRSAKeys()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f0e0658970d00f271b5053130e294ee4"></a><!-- doxytag: member="ne7ssh_string::addVector" ref="f0e0658970d00f271b5053130e294ee4" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;secvec)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addVector           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>secvec</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a vector to the buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>secvec</em>&nbsp;</td><td>Reference to the vector. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">ne7ssh_keys::generateRSASignature()</a>, <a class="el" href="crypt_8cpp_source.html#l00400">ne7ssh_crypt::getDSAKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00422">ne7ssh_crypt::getRSAKey()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00057">Ne7sshSftpPacket::valueFragment()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">ne7ssh_channel::write()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e5925806510ef106e1435640b6010bc7"></a><!-- doxytag: member="ne7ssh_string::addVectorField" ref="e5925806510ef106e1435640b6010bc7" args="(const Botan::SecureVector&lt; Botan::byte &gt; &amp;vector)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::addVectorField           </td>
-          <td>(</td>
-          <td class="paramtype">const Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>vector</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a vector to the buffer. <p>
-Adds an integer representing the length of the vector, converted to the network format, before the actual data. Required by SSH protocol specifications. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>vector</em>&nbsp;</td><td>Reference to a vector. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">ne7ssh_keys::generateRSASignature()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">Ne7sshSftp::handleNames()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00301">ne7ssh_kex::makeH()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00038">Ne7sshSftpPacket::value()</a>, and <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00057">Ne7sshSftpPacket::valueFragment()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="7c1276275a551da4dc460a7f9e8884eb"></a><!-- doxytag: member="ne7ssh_string::bn2vector" ref="7c1276275a551da4dc460a7f9e8884eb" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;result, const Botan::BigInt &amp;bi)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::bn2vector           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>bi</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Converts BigInt into vector <p>
-For internal use only <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>Reference to vector where the converted result will be dumped. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>bi</em>&nbsp;</td><td>Reference to BigInt to convert. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__string_8cpp_source.html#l00081">addBigInt()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="crypt_8cpp_source.html#l00441">ne7ssh_crypt::makeKexSecret()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="722e2787d24d59b0432fa9a1b38f0aa2"></a><!-- doxytag: member="ne7ssh_string::chop" ref="722e2787d24d59b0432fa9a1b38f0aa2" args="(uint32 nBytes)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::chop           </td>
-          <td>(</td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>nBytes</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Chops bytes off of the end of the buffer. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>nBytes</em>&nbsp;</td><td>How many bytes to chop off the end of the buffer. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="878cacf6b1fc6e1ae561584444e13db9"></a><!-- doxytag: member="ne7ssh_string::clear" ref="878cacf6b1fc6e1ae561584444e13db9" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::clear           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Zeros out the buffer 
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00427">ne7ssh_keys::getDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00500">ne7ssh_keys::getRSAKeys()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">Ne7sshSftp::handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">Ne7sshSftp::receiveUntil()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">Ne7sshSftp::receiveWhile()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">ne7ssh_channel::write()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="f0e1783a46f61bce09daa9cbd3a1a64b"></a><!-- doxytag: member="ne7ssh_string::getBigInt" ref="f0e1783a46f61bce09daa9cbd3a1a64b" args="(Botan::BigInt &amp;result)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_string::getBigInt           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::BigInt &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts a single BigInt variable from the payload field of SSH packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>Reference to a BigInt variable where the result will be stored. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if BigInt field was found and successfully parsed, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00400">ne7ssh_crypt::getDSAKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00422">ne7ssh_crypt::getRSAKey()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="231e8c002067934db84921f4bdc1c467"></a><!-- doxytag: member="ne7ssh_string::getByte" ref="231e8c002067934db84921f4bdc1c467" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">Botan::byte ne7ssh_string::getByte           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts a single byte from tje payload field of SSH packet. <dl class="return" compact><dt><b>Returns:</b></dt><dd>A byte extracted from thenext byte of the payload. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">ne7ssh_channel::handleRequest()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="d7cb4926f971ecbe25a03bca59d0e6bb"></a><!-- doxytag: member="ne7ssh_string::getInt" ref="d7cb4926f971ecbe25a03bca59d0e6bb" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_string::getInt           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts a single unsigned integer (uint32) from the payload field of SSH packet. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The integer extracted from the next 4 bytes of the payload. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00270">Ne7sshSftp::addOpenHandle()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00087">ne7ssh_channel::adjustWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00063">ne7ssh_channel::handleChannelConfirm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">ne7ssh_channel::handleExtendedData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">Ne7sshSftp::handleNames()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">ne7ssh_channel::handleRequest()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">Ne7sshSftp::handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00249">Ne7sshSftp::handleStatus()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00232">Ne7sshSftp::handleVersion()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00362">Ne7sshSftp::processAttrs()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="6437d3125dd58e4d71bd0e0351a315ec"></a><!-- doxytag: member="ne7ssh_string::getString" ref="6437d3125dd58e4d71bd0e0351a315ec" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;result)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_string::getString           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extracts a single string from the payload field of SSH packet. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>Reference to a buffer where the result will be stored. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if string field was found and successfully parsed, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00270">Ne7sshSftp::addOpenHandle()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="crypt_8cpp_source.html#l00400">ne7ssh_crypt::getDSAKey()</a>, <a class="el" href="crypt_8cpp_source.html#l00422">ne7ssh_crypt::getRSAKey()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00124">ne7ssh_channel::handleDisconnect()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00204">ne7ssh_channel::handleExtendedData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">Ne7sshSftp::handleNames()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00227">ne7ssh_channel::handleRequest()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00294">Ne7sshSftp::handleSftpData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00249">Ne7sshSftp::handleStatus()</a>, and <a class="el" href="crypt_8cpp_source.html#l00323">ne7ssh_crypt::verifySig()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="0b70fd63fc4dd1d5badce895d318b117"></a><!-- doxytag: member="ne7ssh_string::length" ref="0b70fd63fc4dd1d5badce895d318b117" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_string::length           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns current length of the buffer. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Length of the buffer. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, <a class="el" href="ne7ssh__channel_8h_source.html#l00167">ne7ssh_channel::data2Send()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">Ne7sshSftp::getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">Ne7sshSftp::getFileStats()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">ne7ssh_keys::getKeyPairFromFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00185">ne7ssh_channel::handleData()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">Ne7sshSftp::isType()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">Ne7sshSftp::receiveUntil()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">Ne7sshSftp::receiveWhile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">ne7ssh_channel::write()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="198a4c462ea4e73314c81003f09c98bd"></a><!-- doxytag: member="ne7ssh_string::nextPart" ref="198a4c462ea4e73314c81003f09c98bd" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">char * ne7ssh_string::nextPart           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the next part. <dl class="return" compact><dt><b>Returns:</b></dt><dd>NULL terminated string, or 0 if this is the last part. </dd></dl>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00048">ne7ssh_crypt::agree()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="ea5ca8a3645c570af9f03bc4f9bdc523"></a><!-- doxytag: member="ne7ssh_string::resetParts" ref="ea5ca8a3645c570af9f03bc4f9bdc523" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::resetParts           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns to the first part. 
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00048">ne7ssh_crypt::agree()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="47f06a2606e6982a2741de59be7ea786"></a><!-- doxytag: member="ne7ssh_string::split" ref="47f06a2606e6982a2741de59be7ea786" args="(const char token)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void ne7ssh_string::split           </td>
-          <td>(</td>
-          <td class="paramtype">const char&nbsp;</td>
-          <td class="paramname"> <em>token</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Splits the buffer into strings separated by null character. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>token</em>&nbsp;</td><td>Searches for this character in the buffer, replaces it with null and creates a part index. </td></tr>
-  </table>
-</dl>
-
-<p>Referenced by <a class="el" href="crypt_8cpp_source.html#l00048">ne7ssh_crypt::agree()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="b593c45799f28af90922b7a8332e1a9f"></a><!-- doxytag: member="ne7ssh_string::value" ref="b593c45799f28af90922b7a8332e1a9f" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual Botan::SecureVector&lt;Botan::byte&gt;&amp; ne7ssh_string::value           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the buffer as a vector. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to the 'buffer' vector. </dd></dl>
-
-<p>Reimplemented in <a class="el" href="classNe7sshSftpPacket.html#a9ad7d742391e82b582bbe92d7733bac">Ne7sshSftpPacket</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__string_8cpp_source.html#l00047">addString()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01108">Ne7sshSftp::cd()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01158">Ne7sshSftp::chmod()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01325">Ne7sshSftp::chown()</a>, <a class="el" href="crypt_8cpp_source.html#l00675">ne7ssh_crypt::compute_key()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00031">ne7ssh_kex::constructLocalKex()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00157">ne7ssh_keys::generateDSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00279">ne7ssh_keys::generateDSASignature()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00037">ne7ssh_keys::generateRSAKeys()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00319">ne7ssh_keys::generateRSASignature()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00753">Ne7sshSftp::getFileAttrs()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00682">Ne7sshSftp::getFileStats()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00351">ne7ssh_keys::getKeyPairFromFile()</a>, <a class="el" href="ne7ssh__keys_8cpp_source.html#l00567">ne7ssh_keys::getPublicKeyBlob()</a>, <a class="el" href="ne7ssh__channel_8h_source.html#l00191">ne7ssh_channel::getReceived()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00083">Ne7sshSftp::handleData()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00317">Ne7sshSftp::handleNames()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00329">ne7ssh_channel::handleReceived()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00797">Ne7sshSftp::isType()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01047">Ne7sshSftp::ls()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00301">ne7ssh_kex::makeH()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00988">Ne7sshSftp::mkdir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00957">Ne7sshSftp::mv()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00449">Ne7sshSftp::openDir()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00394">Ne7sshSftp::openFile()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00928">Ne7sshSftp::rm()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l01018">Ne7sshSftp::rmdir()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">ne7ssh_channel::sendAdjustWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">ne7ssh_channel::sendClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00155">ne7ssh_channel::sendEof()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">ne7ssh_transport::sendPacket()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00038">Ne7sshSftpPacket::value()</a>, <a class="el" href="ne7ssh__sftp__packet_8cpp_source.html#l00057">Ne7sshSftpPacket::valueFragment()</a>, and <a class="el" href="ne7ssh__channel_8cpp_source.html#l00376">ne7ssh_channel::write()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__string_8h_source.html">ne7ssh_string.h</a><li>ne7ssh_string.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.map
deleted file mode 100644
index b662f1b05f1..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classNe7sshSftpPacket.html" title="Ne7sshSftpPacket" alt="" coords="5,84,144,111">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.md5
deleted file mode 100644
index 208ee6645fa..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__string__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-3edbca75c8429aa19fa0d66169573383
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport-members.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport-members.html
deleted file mode 100644
index 3f6e454a251..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport-members.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_transport Member List</h1>This is the complete list of members for <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#122602c51b558d07920bbf3f19c53e83">establish</a>(const char *host, uint32 port, int timeout=0)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#a602061a2091786b16527534aa8bb99a">getPacket</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;result)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#c5e49ab89bc98e9da758a194b7870d57">haveData</a>()</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>in</b> (defined in <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>inBuffer</b> (defined in <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#bc335c4d181ee23ef6f6c819d41a9533">ne7ssh_transport</a>(ne7ssh_session *_session)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#750400736781c5d40a68a47f95f3af00">NoBlock</a>(SOCKET socket, bool on)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#e68ee5d295430f648424b5ba359d9503">receive</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer, bool append=false)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rSeq</b> (defined in <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#e88fef35a5b4b0960ccee3142e486eb6">send</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#c62051d1b6aeeb65867ffd1c1578938f">sendPacket</a>(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>seq</b> (defined in <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>session</b> (defined in <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sock</b> (defined in <a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#e61c53b2f743afecec25cfe7fffc3799">wait</a>(SOCKET socket, int rw, int timeout=-1)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td><code> [private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#8d502d0e554e92d9536f8be2f9e07fd0">waitForPacket</a>(Botan::byte cmd, bool bufferOnly=false)</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="classne7ssh__transport.html#c9b896ad9d855fc818b0b5350f47ccf7">~ne7ssh_transport</a>()</td><td><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport.html b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport.html
deleted file mode 100644
index a33eb0c00c4..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport.html
+++ /dev/null
@@ -1,466 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_transport Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_transport Class Reference</h1><!-- doxytag: class="ne7ssh_transport" --><code>#include &lt;<a class="el" href="ne7ssh__transport_8h_source.html">ne7ssh_transport.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for ne7ssh_transport:</div>
-<div class="dynsection">
-<p><center><img src="classne7ssh__transport__coll__graph.png" border="0" usemap="#ne7ssh__transport__coll__map" alt="Collaboration graph"></center>
-<map name="ne7ssh__transport__coll__map">
-<area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="11,103,133,129"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="19,199,125,225"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="classne7ssh__transport-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#bc335c4d181ee23ef6f6c819d41a9533">ne7ssh_transport</a> (<a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *_session)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#c9b896ad9d855fc818b0b5350f47ccf7">~ne7ssh_transport</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#122602c51b558d07920bbf3f19c53e83">establish</a> (const char *host, uint32 port, int timeout=0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#e68ee5d295430f648424b5ba359d9503">receive</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer, bool append=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#e88fef35a5b4b0960ccee3142e486eb6">send</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#c62051d1b6aeeb65867ffd1c1578938f">sendPacket</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#8d502d0e554e92d9536f8be2f9e07fd0">waitForPacket</a> (Botan::byte cmd, bool bufferOnly=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#a602061a2091786b16527534aa8bb99a">getPacket</a> (Botan::SecureVector&lt; Botan::byte &gt; &amp;result)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#c5e49ab89bc98e9da758a194b7870d57">haveData</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#750400736781c5d40a68a47f95f3af00">NoBlock</a> (SOCKET socket, bool on)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classne7ssh__transport.html#e61c53b2f743afecec25cfe7fffc3799">wait</a> (SOCKET socket, int rw, int timeout=-1)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3568450ab744f0e80e3cca6166d63c01"></a><!-- doxytag: member="ne7ssh_transport::seq" ref="3568450ab744f0e80e3cca6166d63c01" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>seq</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="162af1d78195986b8709a0e3064c8cb7"></a><!-- doxytag: member="ne7ssh_transport::rSeq" ref="162af1d78195986b8709a0e3064c8cb7" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>rSeq</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45a0187a431567218ac9dd757dad06d0"></a><!-- doxytag: member="ne7ssh_transport::session" ref="45a0187a431567218ac9dd757dad06d0" args="" -->
-const <a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>session</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2185ce2e848d95dd17f2ddd84497367"></a><!-- doxytag: member="ne7ssh_transport::sock" ref="d2185ce2e848d95dd17f2ddd84497367" args="" -->
-SOCKET&nbsp;</td><td class="memItemRight" valign="bottom"><b>sock</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec3da945e8c056468188330f5e3a741d"></a><!-- doxytag: member="ne7ssh_transport::in" ref="ec3da945e8c056468188330f5e3a741d" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>in</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e74acceb79e5e36eed36580eeab21d4"></a><!-- doxytag: member="ne7ssh_transport::inBuffer" ref="4e74acceb79e5e36eed36580eeab21d4" args="" -->
-Botan::SecureVector&lt; Botan::byte &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>inBuffer</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<dl class="author" compact><dt><b>Author:</b></dt><dd>Andrew Useckas </dd></dl>
-<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="bc335c4d181ee23ef6f6c819d41a9533"></a><!-- doxytag: member="ne7ssh_transport::ne7ssh_transport" ref="bc335c4d181ee23ef6f6c819d41a9533" args="(ne7ssh_session *_session)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_transport::ne7ssh_transport           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classne7ssh__session.html">ne7ssh_session</a> *&nbsp;</td>
-          <td class="paramname"> <em>_session</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a> class constructor. <p>
-Transport class handles all socket communications for the <a class="el" href="classne7ssh.html">ne7ssh</a> library. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>_session</em>&nbsp;</td><td>Pointer to <a class="el" href="classne7ssh__session.html">ne7ssh_session</a> instance. </td></tr>
-  </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="c9b896ad9d855fc818b0b5350f47ccf7"></a><!-- doxytag: member="ne7ssh_transport::~ne7ssh_transport" ref="c9b896ad9d855fc818b0b5350f47ccf7" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ne7ssh_transport::~ne7ssh_transport           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a> class destructor. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="122602c51b558d07920bbf3f19c53e83"></a><!-- doxytag: member="ne7ssh_transport::establish" ref="122602c51b558d07920bbf3f19c53e83" args="(const char *host, uint32 port, int timeout=0)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">SOCKET ne7ssh_transport::establish           </td>
-          <td>(</td>
-          <td class="paramtype">const char *&nbsp;</td>
-          <td class="paramname"> <em>host</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">uint32&nbsp;</td>
-          <td class="paramname"> <em>port</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>0</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Establishes connection to a remote host. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>host</em>&nbsp;</td><td>Host name or IP. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>Port. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout for the establish procedure, in seconds. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>Socket number or -1 on failure. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00129">NoBlock()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00075">ne7ssh_connection::connectWithKey()</a>, and <a class="el" href="ne7ssh__connection_8cpp_source.html#l00044">ne7ssh_connection::connectWithPassword()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="a602061a2091786b16527534aa8bb99a"></a><!-- doxytag: member="ne7ssh_transport::getPacket" ref="a602061a2091786b16527534aa8bb99a" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;result)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 ne7ssh_transport::getPacket           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>result</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Gets the payload section from an SSH packet received by <a class="el" href="classne7ssh__transport.html#8d502d0e554e92d9536f8be2f9e07fd0">waitForPacket()</a> function. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>The payload will be stored here. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>The SSH packet passing length. </dd></dl>
-
-<p>References <a class="el" href="crypt_8cpp_source.html#l00762">ne7ssh_crypt::decompressData()</a>, <a class="el" href="crypt_8h_source.html#l00201">ne7ssh_crypt::getMacInLen()</a>, and <a class="el" href="crypt_8h_source.html#l00177">ne7ssh_crypt::isInited()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00063">ne7ssh_channel::handleChannelConfirm()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00130">ne7ssh_kex::handleInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00242">ne7ssh_kex::handleKexDHReply()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00301">ne7ssh_channel::receive()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">Ne7sshSftp::receiveUntil()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">Ne7sshSftp::receiveWhile()</a>, and <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">Ne7sshSftp::receiveWindowAdjust()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c5e49ab89bc98e9da758a194b7870d57"></a><!-- doxytag: member="ne7ssh_transport::haveData" ref="c5e49ab89bc98e9da758a194b7870d57" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_transport::haveData           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Checks to see if there is more data to be read from the socket. <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if there is data to be read, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__transport_8cpp_source.html#l00158">wait()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="750400736781c5d40a68a47f95f3af00"></a><!-- doxytag: member="ne7ssh_transport::NoBlock" ref="750400736781c5d40a68a47f95f3af00" args="(SOCKET socket, bool on)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_transport::NoBlock           </td>
-          <td>(</td>
-          <td class="paramtype">SOCKET&nbsp;</td>
-          <td class="paramname"> <em>socket</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>on</em></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Switches socket's NonBlocking option on or off. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>socket</em>&nbsp;</td><td>Socket number. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>on</em>&nbsp;</td><td>If set to true, NonBlocking option will be turned on, and vice versa. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if options have been successfuly set, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, and <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00059">establish()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e68ee5d295430f648424b5ba359d9503"></a><!-- doxytag: member="ne7ssh_transport::receive" ref="e68ee5d295430f648424b5ba359d9503" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer, bool append=false)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_transport::receive           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>append</em> = <code>false</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Reads data from the socket. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>The data will be placed here. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>append</em>&nbsp;</td><td>If set to true, received data will be appended to the buffer, instead of overwriting it. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if data successfuly read, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00158">wait()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00253">ne7ssh_connection::checkRemoteVersion()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00301">waitForPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e88fef35a5b4b0960ccee3142e486eb6"></a><!-- doxytag: member="ne7ssh_transport::send" ref="e88fef35a5b4b0960ccee3142e486eb6" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_transport::send           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Writes a buffer to the socket. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>Data to be written to the socket. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if data successful sent, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00158">wait()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00275">ne7ssh_connection::sendLocalVersion()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00255">sendPacket()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="c62051d1b6aeeb65867ffd1c1578938f"></a><!-- doxytag: member="ne7ssh_transport::sendPacket" ref="c62051d1b6aeeb65867ffd1c1578938f" args="(Botan::SecureVector&lt; Botan::byte &gt; &amp;buffer)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_transport::sendPacket           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::SecureVector&lt; Botan::byte &gt; &amp;&nbsp;</td>
-          <td class="paramname"> <em>buffer</em>          </td>
-          <td>&nbsp;)&nbsp;</td>
-          <td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Assembles an SSH packet, as specified in SSH standards and passes the buffer to <a class="el" href="classne7ssh__transport.html#e88fef35a5b4b0960ccee3142e486eb6">send()</a> function. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>Payload to be sent. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if send successful, otherwise false is returned. </dd></dl>
-
-<p>References <a class="el" href="ne7ssh__string_8cpp_source.html#l00100">ne7ssh_string::addBytes()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00110">ne7ssh_string::addChar()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00115">ne7ssh_string::addInt()</a>, <a class="el" href="ne7ssh__string_8cpp_source.html#l00105">ne7ssh_string::addVector()</a>, <a class="el" href="crypt_8cpp_source.html#l00716">ne7ssh_crypt::encryptPacket()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="crypt_8h_source.html#l00183">ne7ssh_crypt::getEncryptBlock()</a>, <a class="el" href="crypt_8h_source.html#l00177">ne7ssh_crypt::isInited()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00195">send()</a>, and <a class="el" href="ne7ssh__string_8h_source.html#l00129">ne7ssh_string::value()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00249">ne7ssh_channel::execCmd()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00274">ne7ssh_channel::getShell()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00045">Ne7sshSftp::init()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00171">ne7ssh_channel::sendAdjustWindow()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00421">ne7ssh_channel::sendAll()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00139">ne7ssh_channel::sendClose()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00155">ne7ssh_channel::sendEof()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="e61c53b2f743afecec25cfe7fffc3799"></a><!-- doxytag: member="ne7ssh_transport::wait" ref="e61c53b2f743afecec25cfe7fffc3799" args="(SOCKET socket, int rw, int timeout=&#45;1)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool ne7ssh_transport::wait           </td>
-          <td>(</td>
-          <td class="paramtype">SOCKET&nbsp;</td>
-          <td class="paramname"> <em>socket</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>rw</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int&nbsp;</td>
-          <td class="paramname"> <em>timeout</em> = <code>-1</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td><code> [private]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Waits for activity on a socket. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>socket</em>&nbsp;</td><td>Socket number. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>rw</em>&nbsp;</td><td>If set to true, checks if process can write to the socket, otherwise checks if there is data to be read from the socket. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Desired timeout. By default the function will block until socket is ready for reading/writting. If set to '0', the function will return right away. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if socket is ready for reading/writting, otherwise false is returned. </dd></dl>
-
-<p>Referenced by <a class="el" href="ne7ssh__transport_8cpp_source.html#l00153">haveData()</a>, <a class="el" href="ne7ssh__transport_8cpp_source.html#l00219">receive()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00195">send()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="8d502d0e554e92d9536f8be2f9e07fd0"></a><!-- doxytag: member="ne7ssh_transport::waitForPacket" ref="8d502d0e554e92d9536f8be2f9e07fd0" args="(Botan::byte cmd, bool bufferOnly=false)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">short ne7ssh_transport::waitForPacket           </td>
-          <td>(</td>
-          <td class="paramtype">Botan::byte&nbsp;</td>
-          <td class="paramname"> <em>cmd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">bool&nbsp;</td>
-          <td class="paramname"> <em>bufferOnly</em> = <code>false</code></td><td>&nbsp;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Waits until specified type of packet is received. <p>
-If cmd is 0, waits for the first available packet of any kind. <p>
-Once the desired packet is received, it is decrypted / decommpressed, the hMac is checked, and dropped into inBuffer class variable. <dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>cmd</em>&nbsp;</td><td>SSH2 packet to wait for. If 0, first available packet will be read into inBuffer class variable. </td></tr>
-    <tr><td valign="top"></td><td valign="top"><em>bufferOnly</em>&nbsp;</td><td>Does not wait to receive a new packet, only checks existing receive buffer for unprocessed packets. </td></tr>
-  </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if desired packet is received, 0 if there another packet is received, or -1 if HMAC checking is enabled, and remote and local HMACs do not match. </dd></dl>
-
-<p>References <a class="el" href="crypt_8cpp_source.html#l00773">ne7ssh_crypt::computeMac()</a>, <a class="el" href="crypt_8cpp_source.html#l00737">ne7ssh_crypt::decryptPacket()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00721">ne7ssh::errors()</a>, <a class="el" href="crypt_8h_source.html#l00189">ne7ssh_crypt::getDecryptBlock()</a>, <a class="el" href="crypt_8h_source.html#l00201">ne7ssh_crypt::getMacInLen()</a>, <a class="el" href="crypt_8h_source.html#l00177">ne7ssh_crypt::isInited()</a>, <a class="el" href="ne7ssh__error_8cpp_source.html#l00042">Ne7sshError::push()</a>, and <a class="el" href="ne7ssh__transport_8cpp_source.html#l00219">receive()</a>.</p>
-
-<p>Referenced by <a class="el" href="ne7ssh__connection_8cpp_source.html#l00167">ne7ssh_connection::authWithKey()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00124">ne7ssh_connection::authWithPassword()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00034">ne7ssh_channel::open()</a>, <a class="el" href="ne7ssh__channel_8cpp_source.html#l00301">ne7ssh_channel::receive()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00162">Ne7sshSftp::receiveUntil()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00196">Ne7sshSftp::receiveWhile()</a>, <a class="el" href="ne7ssh__sftp_8cpp_source.html#l00147">Ne7sshSftp::receiveWindowAdjust()</a>, <a class="el" href="ne7ssh__connection_8cpp_source.html#l00108">ne7ssh_connection::requestService()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00107">ne7ssh_kex::sendInit()</a>, <a class="el" href="ne7ssh__kex_8cpp_source.html#l00217">ne7ssh_kex::sendKexDHInit()</a>, and <a class="el" href="ne7ssh__kex_8cpp_source.html#l00276">ne7ssh_kex::sendKexNewKeys()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following files:<ul>
-<li><a class="el" href="ne7ssh__transport_8h_source.html">ne7ssh_transport.h</a><li>ne7ssh_transport.cpp</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.map
deleted file mode 100644
index 0b572a73e88..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="11,103,133,129">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="19,199,125,225">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.md5
deleted file mode 100644
index aa00e5ff508..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/classne7ssh__transport__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-7e399d8b6e7aaebcf329bfb9bf88132f
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/crypt_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/crypt_8h_source.html
deleted file mode 100644
index d49b70beaeb..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/crypt_8h_source.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: crypt.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>crypt.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef CRYPT_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define CRYPT_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;botan/dl_group.h&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;botan/dh.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;botan/pubkey.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;botan/lookup.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;botan/dsa.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;botan/rsa.h&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;botan/look_pk.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;botan/pubkey.h&gt;</span>
-<a name="l00028"></a>00028 
-<a name="l00029"></a>00029 
-<a name="l00030"></a>00030 <span class="comment">// #if defined(BOTAN_EXT_COMPRESSOR_ZLIB)</span>
-<a name="l00031"></a>00031 <span class="comment">//   #include &lt;botan/zlib.h&gt;</span>
-<a name="l00032"></a>00032 <span class="comment">// #else</span>
-<a name="l00033"></a>00033 <span class="comment">//   #error "Zlib support is not compiled into Botan"</span>
-<a name="l00034"></a>00034 <span class="comment">// #endif</span>
-<a name="l00035"></a>00035 
-<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;botan/cbc.h&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;botan/hmac.h&gt;</span>
-<a name="l00038"></a>00038 
-<a name="l00039"></a>00039 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00040"></a>00040 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00041"></a>00041 
-<a name="l00042"></a>00042 <span class="keyword">class </span><a class="code" href="classne7ssh__session.html">ne7ssh_session</a>;
-<a name="l00043"></a>00043 
-<a name="l00047"></a><a class="code" href="classne7ssh__crypt.html">00047</a> <span class="keyword">class </span><a class="code" href="classne7ssh__crypt.html">ne7ssh_crypt</a>
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049   <span class="keyword">private</span>:
-<a name="l00050"></a>00050     <a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* session;
-<a name="l00051"></a>00051 
-<a name="l00052"></a>00052     <span class="keyword">enum</span> kexMethods { DH_GROUP1_SHA1, DH_GROUP14_SHA1 };
-<a name="l00053"></a>00053     uint32 kexMethod;
-<a name="l00054"></a>00054 
-<a name="l00055"></a>00055     <span class="keyword">enum</span> hostkeyMethods { SSH_DSS, SSH_RSA };
-<a name="l00056"></a>00056     uint32 hostkeyMethod;
-<a name="l00057"></a>00057 
-<a name="l00058"></a>00058     <span class="keyword">enum</span> cryptoMethods { TDES_CBC, AES128_CBC, AES192_CBC, AES256_CBC, BLOWFISH_CBC, CAST128_CBC, TWOFISH_CBC };
-<a name="l00059"></a>00059     uint32 c2sCryptoMethod;
-<a name="l00060"></a>00060     uint32 s2cCryptoMethod;
-<a name="l00061"></a>00061 
-<a name="l00062"></a>00062     <span class="keyword">enum</span> macMethods { HMAC_SHA1, HMAC_MD5, HMAC_NONE };
-<a name="l00063"></a>00063     uint32 c2sMacMethod;
-<a name="l00064"></a>00064     uint32 s2cMacMethod; 
-<a name="l00065"></a>00065 
-<a name="l00066"></a>00066     <span class="keyword">enum</span> cmprsMethods { NONE, ZLIB };
-<a name="l00067"></a>00067     uint32 c2sCmprsMethod;
-<a name="l00068"></a>00068     uint32 s2cCmprsMethod; 
-<a name="l00069"></a>00069 
-<a name="l00070"></a>00070     <span class="keywordtype">bool</span> inited;
-<a name="l00071"></a>00071     Botan::SecureVector&lt;Botan::byte&gt; H;
-<a name="l00072"></a>00072     Botan::SecureVector&lt;Botan::byte&gt; K;
-<a name="l00073"></a>00073 
-<a name="l00074"></a>00074     Botan::Pipe *encrypt;
-<a name="l00075"></a>00075     Botan::Pipe *decrypt;
-<a name="l00076"></a>00076     Botan::Pipe *compress;
-<a name="l00077"></a>00077     Botan::Pipe *decompress;
-<a name="l00078"></a>00078     Botan::HMAC *hmacOut, *hmacIn;
-<a name="l00079"></a>00079 
-<a name="l00080"></a>00080     Botan::DH_PrivateKey *privKexKey;
-<a name="l00081"></a>00081 
-<a name="l00082"></a>00082     uint32 encryptBlock;
-<a name="l00083"></a>00083     uint32 decryptBlock;
-<a name="l00084"></a>00084 
-<a name="l00090"></a>00090     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#86d91e4a71d0a6987a251593af2f7ebc">getDHGroup1Sha1Public</a> (Botan::BigInt&amp; publicKey);
-<a name="l00091"></a>00091 
-<a name="l00097"></a>00097     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#08adb48fb5a4b14a7b629435faf14ff1">getDHGroup14Sha1Public</a> (Botan::BigInt &amp;publicKey);
-<a name="l00098"></a>00098 
-<a name="l00104"></a>00104     Botan::DSA_PublicKey* <a class="code" href="classne7ssh__crypt.html#553d744f2165f49bcb0f38ccef02c3c1">getDSAKey</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; hostKey);
-<a name="l00105"></a>00105 
-<a name="l00111"></a>00111     Botan::RSA_PublicKey* <a class="code" href="classne7ssh__crypt.html#6499bc79249c369f5a25857ce4eccd53">getRSAKey</a> (Botan::SecureVector&lt;Botan::byte&gt; &amp;hostKey);
-<a name="l00112"></a>00112 
-<a name="l00117"></a>00117     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classne7ssh__crypt.html#bb189c522e1e1d73173416689d22a62a">getHashAlgo</a>();
-<a name="l00118"></a>00118 
-<a name="l00124"></a>00124     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classne7ssh__crypt.html#efa1d5b3cf5f6095d13704063bc4495d">getCryptAlgo</a> (uint32 crypto);
-<a name="l00125"></a>00125 
-<a name="l00131"></a>00131     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classne7ssh__crypt.html#faa73d65add3445442f908794ea0fbf4">getHmacAlgo</a> (uint32 method);
-<a name="l00132"></a>00132 
-<a name="l00139"></a>00139     uint32 <a class="code" href="classne7ssh__crypt.html#24e2ba8ce4221fe3d327cd35696968dd">getMacKeyLen</a> (uint32 method);
-<a name="l00140"></a>00140 
-<a name="l00147"></a>00147     uint32 <a class="code" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">getMacDigestLen</a> (uint32 method);
-<a name="l00148"></a>00148 
-<a name="l00157"></a>00157     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#295dd229c74d1e26ce9a62223605f560">compute_key</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; key, Botan::byte ID, uint32 nBytes);
-<a name="l00158"></a>00158 
-<a name="l00159"></a>00159 
-<a name="l00160"></a>00160   <span class="keyword">public</span>:
-<a name="l00165"></a>00165     <a class="code" href="classne7ssh__crypt.html#f0cf20c305e57d2dd9c7a6993a447aa4">ne7ssh_crypt</a>(<a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* _session);
-<a name="l00166"></a>00166 
-<a name="l00170"></a>00170     <a class="code" href="classne7ssh__crypt.html#e72d6e5cb5125d4ed58ce06069aa21b2">~ne7ssh_crypt</a>();
-<a name="l00171"></a>00171 
-<a name="l00177"></a><a class="code" href="classne7ssh__crypt.html#8bb9cf592ff0151a89e9a0f20be192ac">00177</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#8bb9cf592ff0151a89e9a0f20be192ac">isInited</a> () { <span class="keywordflow">return</span> inited; }
-<a name="l00178"></a>00178 
-<a name="l00183"></a><a class="code" href="classne7ssh__crypt.html#a057f7fa33d95674f201b5765cf66b00">00183</a>     uint32 <a class="code" href="classne7ssh__crypt.html#a057f7fa33d95674f201b5765cf66b00">getEncryptBlock</a> () { <span class="keywordflow">return</span> encryptBlock; }
-<a name="l00184"></a>00184 
-<a name="l00189"></a><a class="code" href="classne7ssh__crypt.html#929c7297905b9cb6c48102a8dffc5c70">00189</a>     uint32 <a class="code" href="classne7ssh__crypt.html#929c7297905b9cb6c48102a8dffc5c70">getDecryptBlock</a> () { <span class="keywordflow">return</span> decryptBlock; }
-<a name="l00190"></a>00190 
-<a name="l00195"></a><a class="code" href="classne7ssh__crypt.html#bf9d9816678394c487700112ef003ec5">00195</a>     uint32 <a class="code" href="classne7ssh__crypt.html#bf9d9816678394c487700112ef003ec5">getMacOutLen</a> () { <span class="keywordflow">return</span> <a class="code" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">getMacDigestLen</a> (c2sMacMethod); }
-<a name="l00196"></a>00196 
-<a name="l00201"></a><a class="code" href="classne7ssh__crypt.html#3c76070368181e321c9fd1a08074cffe">00201</a>     uint32 <a class="code" href="classne7ssh__crypt.html#3c76070368181e321c9fd1a08074cffe">getMacInLen</a> () { <span class="keywordflow">return</span> <a class="code" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">getMacDigestLen</a> (s2cMacMethod); }
-<a name="l00202"></a>00202 
-<a name="l00210"></a>00210     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#448aa6a6bc69facb7087935a8314fbd3">agree</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; result, <span class="keyword">const</span> <span class="keywordtype">char</span>* local, Botan::SecureVector&lt;Botan::byte&gt;&amp; remote);
-<a name="l00211"></a>00211 
-<a name="l00217"></a>00217     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#d78b64cf65fc2e732c07c106ad6f3e06">negotiatedKex</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; kexAlgo);
-<a name="l00218"></a>00218 
-<a name="l00224"></a>00224     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#12ab09c8790545b43d4f588db3dbf2e7">negotiatedHostkey</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; hostKeyAlgo);
-<a name="l00225"></a>00225 
-<a name="l00231"></a>00231     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#138128d5a07f05e6877ac71dece40438">negotiatedCryptoC2s</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; cryptoAlgo);
-<a name="l00232"></a>00232 
-<a name="l00238"></a>00238     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#8ab5f2aa3ef6908133316194b6430ec3">negotiatedCryptoS2c</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; cryptoAlgo);
-<a name="l00239"></a>00239 
-<a name="l00245"></a>00245     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#bf42f3c247950d28785d3e7404b62613">negotiatedMacC2s</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; macAlgo);
-<a name="l00246"></a>00246 
-<a name="l00252"></a>00252     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#5408c49468306c685ad80afb06111cf9">negotiatedMacS2c</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; macAlgo);
-<a name="l00253"></a>00253 
-<a name="l00259"></a>00259     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#acdaa6ad6ab255c0ac561a2bf2e5a244">negotiatedCmprsC2s</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; cmprsAlgo);
-<a name="l00260"></a>00260 
-<a name="l00266"></a>00266     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#22552971623f05e13ec30f3f1caf8ffb">negotiatedCmprsS2c</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; cmprsAlgo);
-<a name="l00267"></a>00267 
-<a name="l00273"></a>00273     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#186ac0a5ff182c14d59be1885975405d">getKexPublic</a> (Botan::BigInt&amp; publicKey);
-<a name="l00274"></a>00274 
-<a name="l00281"></a>00281     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#3f5bb3646329aeba7629c0b2a6f721db">makeKexSecret</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; result, Botan::BigInt&amp; f);
-<a name="l00282"></a>00282 
-<a name="l00289"></a>00289     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#3aec4dedfe2d0c9b51879a35043d212c">computeH</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; result, Botan::SecureVector&lt;Botan::byte&gt;&amp; val);
-<a name="l00290"></a>00290 
-<a name="l00297"></a>00297     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#48631162f8d43e1ee7bbe682a43f0c52">verifySig</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; hostKey, Botan::SecureVector&lt;Botan::byte&gt;&amp; sig);
-<a name="l00298"></a>00298 
-<a name="l00303"></a>00303     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#ceaba42fbb74e422ff53c8f4135c24f8">makeNewKeys</a> ();
-<a name="l00304"></a>00304 
-<a name="l00314"></a>00314     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#0450e84788812dcd22e0c5d6b79a1614">encryptPacket</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; crypted, Botan::SecureVector&lt;Botan::byte&gt;&amp; hmac, Botan::SecureVector&lt;Botan::byte&gt;&amp; packet, uint32 seq);
-<a name="l00315"></a>00315 
-<a name="l00323"></a>00323     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#0962ff3850c885c983ee6c29395086ac">decryptPacket</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; decrypted, Botan::SecureVector&lt;Botan::byte&gt;&amp; packet, uint32 len);
-<a name="l00324"></a>00324 
-<a name="l00331"></a>00331     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__crypt.html#225001aa854efaaef8e11f5ba682e2ff">computeMac</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; hmac, Botan::SecureVector&lt;Botan::byte&gt;&amp; packet, uint32 seq);
-<a name="l00332"></a>00332 
-<a name="l00337"></a>00337     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__crypt.html#cff5dadc7aa6a359032d5de18e2bb7c0">compressData</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; buffer);
-<a name="l00338"></a>00338 
-<a name="l00343"></a>00343     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__crypt.html#0fba0bef677d5df589c09e81c5eeeadb">decompressData</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; buffer);
-<a name="l00344"></a>00344 
-<a name="l00349"></a><a class="code" href="classne7ssh__crypt.html#79b1f3d389a5d4923e7b28c3083bbfdf">00349</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__crypt.html#79b1f3d389a5d4923e7b28c3083bbfdf">isCompressed</a> () { <span class="keywordflow">if</span> (decompress) <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>; }
-<a name="l00350"></a>00350 
-<a name="l00355"></a>00355 };
-<a name="l00356"></a>00356 
-<a name="l00357"></a>00357 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae.html b/src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae.html
deleted file mode 100644
index b58281d98aa..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: projects/ne7ssh/ Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh Directory Reference</h1>
-<p>
-<div class="dynheader">
-</div>
-<div class="dynsection">
-<p><center><img src="dir_0149abaf0c2b822b0c584e3b6dde2eae_dep.png" border="0" usemap="#dir_0149abaf0c2b822b0c584e3b6dde2eae_dep_map" alt="projects/ne7ssh/"></center>
-<map name="dir_0149abaf0c2b822b0c584e3b6dde2eae_dep_map">
-<area shape="rect" href="dir_f38c3faaed4ee86c894d75645400fcb5.html" title="src" alt="" coords="37,76,109,124"><area shape="rect" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html" alt="" coords="27,55,216,135"><area shape="rect" href="dir_dd1c5291a9065b7545d10d656e7badb5.html" title="projects" alt="" coords="16,16,227,145"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae_dep.map b/src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae_dep.map
deleted file mode 100644
index ba754eabf37..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dir_0149abaf0c2b822b0c584e3b6dde2eae_dep.map
+++ /dev/null
@@ -1,3 +0,0 @@
-<area shape="rect" href="dir_f38c3faaed4ee86c894d75645400fcb5.html" title="src" alt="" coords="37,76,109,124">
-<area shape="rect" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html" alt="" coords="27,55,216,135">
-<area shape="rect" href="dir_dd1c5291a9065b7545d10d656e7badb5.html" title="projects" alt="" coords="16,16,227,145">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5.html b/src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5.html
deleted file mode 100644
index a58bb3afbcf..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: projects/ Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>
-  </div>
-</div>
-<div class="contents">
-<h1>projects Directory Reference</h1>
-<p>
-<div class="dynheader">
-</div>
-<div class="dynsection">
-<p><center><img src="dir_dd1c5291a9065b7545d10d656e7badb5_dep.png" border="0" usemap="#dir_dd1c5291a9065b7545d10d656e7badb5_dep_map" alt="projects/"></center>
-<map name="dir_dd1c5291a9065b7545d10d656e7badb5_dep_map">
-<area shape="rect" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html" title="ne7ssh" alt="" coords="27,37,99,85"><area shape="rect" href="dir_dd1c5291a9065b7545d10d656e7badb5.html" alt="" coords="16,16,205,96"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5_dep.map b/src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5_dep.map
deleted file mode 100644
index c0ba7e87a72..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dir_dd1c5291a9065b7545d10d656e7badb5_dep.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html" title="ne7ssh" alt="" coords="27,37,99,85">
-<area shape="rect" href="dir_dd1c5291a9065b7545d10d656e7badb5.html" alt="" coords="16,16,205,96">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5.html b/src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5.html
deleted file mode 100644
index 749b4ee316d..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: projects/ne7ssh/src/ Directory Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>src Directory Reference</h1>
-<p>
-<div class="dynheader">
-</div>
-<div class="dynsection">
-<p><center><img src="dir_f38c3faaed4ee86c894d75645400fcb5_dep.png" border="0" usemap="#dir_f38c3faaed4ee86c894d75645400fcb5_dep_map" alt="projects/ne7ssh/src/"></center>
-<map name="dir_f38c3faaed4ee86c894d75645400fcb5_dep_map">
-<area shape="rect" href="dir_f38c3faaed4ee86c894d75645400fcb5.html" title="src" alt="" coords="27,55,99,103"><area shape="rect" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html" title="ne7ssh" alt="" coords="16,16,109,113"></map>
-</div>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Files</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>crypt.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>crypt.h</b> <a href="crypt_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh.h</b> <a href="ne7ssh_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_channel.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_channel.h</b> <a href="ne7ssh__channel_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_connection.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_connection.h</b> <a href="ne7ssh__connection_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_error.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_error.h</b> <a href="ne7ssh__error_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_kex.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_kex.h</b> <a href="ne7ssh__kex_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_keys.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_keys.h</b> <a href="ne7ssh__keys_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_mutex.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_mutex.h</b> <a href="ne7ssh__mutex_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_session.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_session.h</b> <a href="ne7ssh__session_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_sftp.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_sftp.h</b> <a href="ne7ssh__sftp_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_sftp_packet.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_sftp_packet.h</b> <a href="ne7ssh__sftp__packet_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_string.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_string.h</b> <a href="ne7ssh__string_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_transport.cpp</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_transport.h</b> <a href="ne7ssh__transport_8h_source.html">[code]</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>ne7ssh_types.h</b> <a href="ne7ssh__types_8h_source.html">[code]</a></td></tr>
-
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5_dep.map b/src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5_dep.map
deleted file mode 100644
index ed6c1032bca..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dir_f38c3faaed4ee86c894d75645400fcb5_dep.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="dir_f38c3faaed4ee86c894d75645400fcb5.html" title="src" alt="" coords="27,55,99,103">
-<area shape="rect" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html" title="ne7ssh" alt="" coords="16,16,109,113">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/dirs.html b/src/libs/3rdparty/net7ssh/doc/html/dirs.html
deleted file mode 100644
index df0a6dc0f96..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/dirs.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Directory Hierarchy</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li class="current"><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Directories</h1>This directory hierarchy is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>
-<ul>
-<li><a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>
-<ul>
-<li><a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-</ul>
-</ul>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/doxygen.css b/src/libs/3rdparty/net7ssh/doc/html/doxygen.css
deleted file mode 100644
index 3767dc957b0..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/doxygen.css
+++ /dev/null
@@ -1,441 +0,0 @@
-body, table, div, p, dl {
-	font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
-	font-size: 12px;
-}
-
-/* @group Heading Levels */
-
-h1 {
-	text-align: center;
-	font-size: 150%;
-}
-
-h2 {
-	font-size: 120%;
-}
-
-h3 {
-	font-size: 100%;
-}
-
-/* @end */
-
-caption {
-	font-weight: bold;
-}
-
-div.qindex, div.navtab{
-	background-color: #e8eef2;
-	border: 1px solid #84b0c7;
-	text-align: center;
-	margin: 2px;
-	padding: 2px;
-}
-
-div.qindex, div.navpath {
-	width: 100%;
-	line-height: 140%;
-}
-
-div.navtab {
-	margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
-	color: #153788;
-	font-weight: normal;
-	text-decoration: none;
-}
-
-.contents a:visited {
-	color: #1b77c5;
-}
-
-a:hover {
-	text-decoration: underline;
-}
-
-a.qindex {
-	font-weight: bold;
-}
-
-a.qindexHL {
-	font-weight: bold;
-	background-color: #6666cc;
-	color: #ffffff;
-	border: 1px double #9295C2;
-}
-
-.contents a.qindexHL:visited {
-        color: #ffffff;
-}
-
-a.el {
-	font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
-}
-
-a.codeRef {
-}
-
-/* @end */
-
-dl.el {
-	margin-left: -1cm;
-}
-
-.fragment {
-	font-family: monospace, fixed;
-	font-size: 105%;
-}
-
-pre.fragment {
-	border: 1px solid #CCCCCC;
-	background-color: #f5f5f5;
-	padding: 4px 6px;
-	margin: 4px 8px 4px 2px;
-}
-
-div.ah {
-	background-color: black;
-	font-weight: bold;
-	color: #ffffff;
-	margin-bottom: 3px;
-	margin-top: 3px
-}
-
-div.groupHeader {
-	margin-left: 16px;
-	margin-top: 12px;
-	margin-bottom: 6px;
-	font-weight: bold;
-}
-
-div.groupText {
-	margin-left: 16px;
-	font-style: italic;
-}
-
-body {
-	background: white;
-	color: black;
-	margin-right: 20px;
-	margin-left: 20px;
-}
-
-td.indexkey {
-	background-color: #e8eef2;
-	font-weight: bold;
-	border: 1px solid #CCCCCC;
-	margin: 2px 0px 2px 0;
-	padding: 2px 10px;
-}
-
-td.indexvalue {
-	background-color: #e8eef2;
-	border: 1px solid #CCCCCC;
-	padding: 2px 10px;
-	margin: 2px 0px;
-}
-
-tr.memlist {
-	background-color: #f0f0f0;
-}
-
-p.formulaDsp {
-	text-align: center;
-}
-
-img.formulaDsp {
-	
-}
-
-img.formulaInl {
-	vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
-	color: #008000
-}
-
-span.keywordtype {
-	color: #604020
-}
-
-span.keywordflow {
-	color: #e08000
-}
-
-span.comment {
-	color: #800000
-}
-
-span.preprocessor {
-	color: #806020
-}
-
-span.stringliteral {
-	color: #002080
-}
-
-span.charliteral {
-	color: #008080
-}
-
-span.vhdldigit { 
-	color: #ff00ff 
-}
-
-span.vhdlchar { 
-	color: #000000 
-}
-
-span.vhdlkeyword { 
-	color: #700070 
-}
-
-span.vhdllogic { 
-	color: #ff0000 
-}
-
-/* @end */
-
-.search {
-	color: #003399;
-	font-weight: bold;
-}
-
-form.search {
-	margin-bottom: 0px;
-	margin-top: 0px;
-}
-
-input.search {
-	font-size: 75%;
-	color: #000080;
-	font-weight: normal;
-	background-color: #e8eef2;
-}
-
-td.tiny {
-	font-size: 75%;
-}
-
-.dirtab {
-	padding: 4px;
-	border-collapse: collapse;
-	border: 1px solid #84b0c7;
-}
-
-th.dirtab {
-	background: #e8eef2;
-	font-weight: bold;
-}
-
-hr {
-	height: 0;
-	border: none;
-	border-top: 1px solid #666;
-}
-
-/* @group Member Descriptions */
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
-	background-color: #FAFAFA;
-	border: none;
-	margin: 4px;
-	padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
-	padding: 0px 8px 4px 8px;
-	color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
-	border-top: 1px solid #ccc;
-}
-
-.memTemplParams {
-	color: #606060;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
-	font-size: 80%;
-	color: #606060;
-	font-weight: normal;
-	margin-left: 3px;
-}
-
-.memnav {
-	background-color: #e8eef2;
-	border: 1px solid #84b0c7;
-	text-align: center;
-	margin: 2px;
-	margin-right: 15px;
-	padding: 2px;
-}
-
-.memitem {
-	padding: 0;
-}
-
-.memname {
-	white-space: nowrap;
-	font-weight: bold;
-}
-
-.memproto, .memdoc {
-	border: 1px solid #84b0c7;	
-}
-
-.memproto {
-	padding: 0;
-	background-color: #d5e1e8;
-	font-weight: bold;
-	-webkit-border-top-left-radius: 8px;
-	-webkit-border-top-right-radius: 8px;
-	-moz-border-radius-topleft: 8px;
-	-moz-border-radius-topright: 8px;
-}
-
-.memdoc {
-	padding: 2px 5px;
-	background-color: #eef3f5;
-	border-top-width: 0;
-	-webkit-border-bottom-left-radius: 8px;
-	-webkit-border-bottom-right-radius: 8px;
-	-moz-border-radius-bottomleft: 8px;
-	-moz-border-radius-bottomright: 8px;
-}
-
-.paramkey {
-	text-align: right;
-}
-
-.paramtype {
-	white-space: nowrap;
-}
-
-.paramname {
-	color: #602020;
-	white-space: nowrap;
-}
-.paramname em {
-	font-style: normal;
-}
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view */
-
-.ftvtree {
-	font-family: sans-serif;
-	margin: 0.5em;
-}
-
-/* these are for tree view when used as main index */
-
-.directory {
-	font-size: 9pt;
-	font-weight: bold;
-}
-
-.directory h3 {
-	margin: 0px;
-	margin-top: 1em;
-	font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice.  Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
-	height: 61px;
-	background-repeat: no-repeat;
-	background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
-	display: none;
-}
-*/
-
-.directory > h3 {
-	margin-top: 0;
-}
-
-.directory p {
-	margin: 0px;
-	white-space: nowrap;
-}
-
-.directory div {
-	display: none;
-	margin: 0px;
-}
-
-.directory img {
-	vertical-align: -30%;
-}
-
-/* these are for tree view when not used as main index */
-
-.directory-alt {
-	font-size: 100%;
-	font-weight: bold;
-}
-
-.directory-alt h3 {
-	margin: 0px;
-	margin-top: 1em;
-	font-size: 11pt;
-}
-
-.directory-alt > h3 {
-	margin-top: 0;
-}
-
-.directory-alt p {
-	margin: 0px;
-	white-space: nowrap;
-}
-
-.directory-alt div {
-	display: none;
-	margin: 0px;
-}
-
-.directory-alt img {
-	vertical-align: -30%;
-}
-
-/* @end */
-
-address {
-	font-style: normal;
-	color: #333;
-}
diff --git a/src/libs/3rdparty/net7ssh/doc/html/files.html b/src/libs/3rdparty/net7ssh/doc/html/files.html
deleted file mode 100644
index 338df597d24..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/files.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: File Index</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
-  <tr><td class="indexkey"><b>crypt.h</b> <a href="crypt_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh.h</b> <a href="ne7ssh_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_channel.h</b> <a href="ne7ssh__channel_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_connection.h</b> <a href="ne7ssh__connection_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_error.h</b> <a href="ne7ssh__error_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_kex.h</b> <a href="ne7ssh__kex_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_keys.h</b> <a href="ne7ssh__keys_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_mutex.h</b> <a href="ne7ssh__mutex_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_session.h</b> <a href="ne7ssh__session_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_sftp.h</b> <a href="ne7ssh__sftp_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_sftp_packet.h</b> <a href="ne7ssh__sftp__packet_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_string.h</b> <a href="ne7ssh__string_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_transport.h</b> <a href="ne7ssh__transport_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><b>ne7ssh_types.h</b> <a href="ne7ssh__types_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions.html b/src/libs/3rdparty/net7ssh/doc/html/functions.html
deleted file mode 100644
index 2c0e0ae69f4..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>addBigInt()
-: <a class="el" href="classne7ssh__string.html#477f55539eb249bda2a7c311f2639437">ne7ssh_string</a>
-<li>addBytes()
-: <a class="el" href="classne7ssh__string.html#4bf8792affeb750976e18f658eeba5ee">ne7ssh_string</a>
-<li>addChar()
-: <a class="el" href="classne7ssh__string.html#b746c998869885e043ff1db422c8ebf5">ne7ssh_string</a>
-<li>addFile()
-: <a class="el" href="classne7ssh__string.html#2fdcd0fa8215c6ce73ec8dc61f7ae8c5">ne7ssh_string</a>
-<li>addInt()
-: <a class="el" href="classne7ssh__string.html#387c791ce256b9a3747f654596b5945f">ne7ssh_string</a>
-<li>addInt64()
-: <a class="el" href="classNe7sshSftpPacket.html#fa2cc71f2c697621a22c092a84d4bbbb">Ne7sshSftpPacket</a>
-<li>addOpenHandle()
-: <a class="el" href="classNe7sshSftp.html#163fe473cdd37cb441b11391ecfe3de2">Ne7sshSftp</a>
-<li>addString()
-: <a class="el" href="classne7ssh__string.html#28ea3ddaf5f19c6202bd173c990ed835">ne7ssh_string</a>
-<li>addVector()
-: <a class="el" href="classne7ssh__string.html#f0e0658970d00f271b5053130e294ee4">ne7ssh_string</a>
-<li>addVectorField()
-: <a class="el" href="classne7ssh__string.html#e5925806510ef106e1435640b6010bc7">ne7ssh_string</a>
-<li>adjustRecvWindow()
-: <a class="el" href="classne7ssh__channel.html#a2d5379bfc1884c3f12bd024bdb0ca9a">ne7ssh_channel</a>
-<li>adjustWindow()
-: <a class="el" href="classne7ssh__channel.html#bc8252b3f45175c8178d495f11c748a0">ne7ssh_channel</a>
-<li>agree()
-: <a class="el" href="classne7ssh__crypt.html#448aa6a6bc69facb7087935a8314fbd3">ne7ssh_crypt</a>
-<li>authWithKey()
-: <a class="el" href="classne7ssh__connection.html#e1103a358cc4c5e5551cc02b456f5b49">ne7ssh_connection</a>
-<li>authWithPassword()
-: <a class="el" href="classne7ssh__connection.html#cfc0a9286778d088487e1e6eef89f9d1">ne7ssh_connection</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x62.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x62.html
deleted file mode 100644
index c49ba01c070..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x62.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li class="current"><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>bn2vector()
-: <a class="el" href="classne7ssh__string.html#7c1276275a551da4dc460a7f9e8884eb">ne7ssh_string</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x63.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x63.html
deleted file mode 100644
index b0beb9cf0d9..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x63.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li class="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cd()
-: <a class="el" href="classNe7SftpSubsystem.html#0bc632d1abdac46baedaad6f76636cba">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#dfec287ad5e1a05a9ec5974e51765635">Ne7sshSftp</a>
-<li>checkRemoteVersion()
-: <a class="el" href="classne7ssh__connection.html#bb114ef7885807fef7722080c9be5fa4">ne7ssh_connection</a>
-<li>chmod()
-: <a class="el" href="classNe7SftpSubsystem.html#15cea19efa1b2ce91c0ed8c6710dee2b">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#a94a84d20f5e691d25c8d2c0c46d9f0d">Ne7sshSftp</a>
-<li>chop()
-: <a class="el" href="classne7ssh__string.html#722e2787d24d59b0432fa9a1b38f0aa2">ne7ssh_string</a>
-<li>chown()
-: <a class="el" href="classNe7sshSftp.html#577bc8eb8c066bb20e81a12284486500">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#b6ed2ff52f213c28d5186fe5e65e810b">Ne7SftpSubsystem</a>
-<li>clear()
-: <a class="el" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">ne7ssh_string</a>
-<li>close()
-: <a class="el" href="classne7ssh.html#16651c53db2eca3e2cff3d8952828a8c">ne7ssh</a>
-<li>closeFile()
-: <a class="el" href="classNe7SftpSubsystem.html#dca975297ba792499e46d1cb34bb39cb">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#47e7320f6168686934b63a7372be657c">Ne7sshSftp</a>
-<li>compressData()
-: <a class="el" href="classne7ssh__crypt.html#cff5dadc7aa6a359032d5de18e2bb7c0">ne7ssh_crypt</a>
-<li>compute_key()
-: <a class="el" href="classne7ssh__crypt.html#295dd229c74d1e26ce9a62223605f560">ne7ssh_crypt</a>
-<li>computeH()
-: <a class="el" href="classne7ssh__crypt.html#3aec4dedfe2d0c9b51879a35043d212c">ne7ssh_crypt</a>
-<li>computeMac()
-: <a class="el" href="classne7ssh__crypt.html#225001aa854efaaef8e11f5ba682e2ff">ne7ssh_crypt</a>
-<li>connectWithKey()
-: <a class="el" href="classne7ssh__connection.html#4b9a9d4b26e474a175f8bacbc18e7e08">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh.html#734f0ad906e7afbb894649785053708f">ne7ssh</a>
-<li>connectWithPassword()
-: <a class="el" href="classne7ssh__connection.html#8078ac566bbddf9487131848d5c171d0">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh.html#35e3342967a280c2179ed281bca333c5">ne7ssh</a>
-<li>conns
-: <a class="el" href="structconnStruct.html#01d270542f5e0a2dfad63ca1d7caf456">connStruct</a>
-<li>constructLocalKex()
-: <a class="el" href="classne7ssh__kex.html#87bd9e1b7d1a8e785c2b72a611bd4d29">ne7ssh_kex</a>
-<li>count
-: <a class="el" href="structconnStruct.html#bbe7a947bb4097abe13bc1ba74ecaf9b">connStruct</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x64.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x64.html
deleted file mode 100644
index 46bd7dfd63a..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x64.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li class="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>data2Send()
-: <a class="el" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#13f6f62c5d0345f1573ad5626bc8e75e">ne7ssh_connection</a>
-<li>decompressData()
-: <a class="el" href="classne7ssh__crypt.html#0fba0bef677d5df589c09e81c5eeeadb">ne7ssh_crypt</a>
-<li>decryptPacket()
-: <a class="el" href="classne7ssh__crypt.html#0962ff3850c885c983ee6c29395086ac">ne7ssh_crypt</a>
-<li>deleteChannel()
-: <a class="el" href="classNe7sshError.html#01a085e335f3bccb2d0131b872d248ee">Ne7sshError</a>
-<li>deleteCoreMsgs()
-: <a class="el" href="classNe7sshError.html#f56b902ff4e463f885b2fbc97de36eb8">Ne7sshError</a>
-<li>deleteRecord()
-: <a class="el" href="classNe7sshError.html#afd074d8a2a2f95414c2c1960c2527fb">Ne7sshError</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x65.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x65.html
deleted file mode 100644
index 95871ef4e30..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x65.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li class="current"><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>encryptPacket()
-: <a class="el" href="classne7ssh__crypt.html#0450e84788812dcd22e0c5d6b79a1614">ne7ssh_crypt</a>
-<li>ErrorBuffer
-: <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">Ne7sshError</a>
-<li>errorNotInited()
-: <a class="el" href="classNe7SftpSubsystem.html#9f850d3738bac612c5d97548c0924a87">Ne7SftpSubsystem</a>
-<li>errors()
-: <a class="el" href="classne7ssh.html#3f2c2aee58e1be2b9b620f7e53bfcfc5">ne7ssh</a>
-<li>establish()
-: <a class="el" href="classne7ssh__transport.html#122602c51b558d07920bbf3f19c53e83">ne7ssh_transport</a>
-<li>execCmd()
-: <a class="el" href="classne7ssh__channel.html#1037fa89c4b81050b98209cc89e32188">ne7ssh_channel</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x67.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x67.html
deleted file mode 100644
index 3d4ca3d7cbc..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x67.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li class="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>generateDSAKeys()
-: <a class="el" href="classne7ssh__keys.html#4e1d32a1fcdf8599e1d9cc0f8382a5ce">ne7ssh_keys</a>
-<li>generateDSASignature()
-: <a class="el" href="classne7ssh__keys.html#77df178024644ea4fffab1354bf7a872">ne7ssh_keys</a>
-<li>generateKeyPair()
-: <a class="el" href="classne7ssh.html#1f91e811db4c6a997888696f7ff4c4f4">ne7ssh</a>
-<li>generateRSAKeys()
-: <a class="el" href="classne7ssh__keys.html#3cbce01402069e4d78a5a80f12d74ad4">ne7ssh_keys</a>
-<li>generateRSASignature()
-: <a class="el" href="classne7ssh__keys.html#79baa24130d9207119840f481bb03841">ne7ssh_keys</a>
-<li>generateSignature()
-: <a class="el" href="classne7ssh__keys.html#faf77aad8057e0a2e616040677ab696b">ne7ssh_keys</a>
-<li>get()
-: <a class="el" href="classNe7sshSftp.html#8744277dfd50bdc8f703db057bc8229c">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#a5078f3f824833954019ed851d24f04d">Ne7SftpSubsystem</a>
-<li>getBigInt()
-: <a class="el" href="classne7ssh__string.html#f0e1783a46f61bce09daa9cbd3a1a64b">ne7ssh_string</a>
-<li>getByte()
-: <a class="el" href="classne7ssh__string.html#231e8c002067934db84921f4bdc1c467">ne7ssh_string</a>
-<li>getChannelNo()
-: <a class="el" href="classne7ssh.html#cd7228cab037d3fc54259d7e4b18245a">ne7ssh</a>
-, <a class="el" href="classne7ssh__connection.html#8afe35dfcf55958e5578a894a9111e73">ne7ssh_connection</a>
-<li>getCmdComplete()
-: <a class="el" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#fec5882335c281c8fc06d951b4d59b26">ne7ssh_connection</a>
-<li>getConnetions()
-: <a class="el" href="classne7ssh.html#d772b5b0a9abfb7948fee9c6059ca1b7">ne7ssh</a>
-<li>getCryptAlgo()
-: <a class="el" href="classne7ssh__crypt.html#efa1d5b3cf5f6095d13704063bc4495d">ne7ssh_crypt</a>
-<li>getDecryptBlock()
-: <a class="el" href="classne7ssh__crypt.html#929c7297905b9cb6c48102a8dffc5c70">ne7ssh_crypt</a>
-<li>getDHGroup14Sha1Public()
-: <a class="el" href="classne7ssh__crypt.html#08adb48fb5a4b14a7b629435faf14ff1">ne7ssh_crypt</a>
-<li>getDHGroup1Sha1Public()
-: <a class="el" href="classne7ssh__crypt.html#86d91e4a71d0a6987a251593af2f7ebc">ne7ssh_crypt</a>
-<li>getDSAKey()
-: <a class="el" href="classne7ssh__crypt.html#553d744f2165f49bcb0f38ccef02c3c1">ne7ssh_crypt</a>
-<li>getDSAKeys()
-: <a class="el" href="classne7ssh__keys.html#9dba05ee332fd2b3947807d9ef8b0a95">ne7ssh_keys</a>
-<li>getEncryptBlock()
-: <a class="el" href="classne7ssh__crypt.html#a057f7fa33d95674f201b5765cf66b00">ne7ssh_crypt</a>
-<li>getFileAttrs()
-: <a class="el" href="classNe7SftpSubsystem.html#169ca7f6d634a762662914ffe715d139">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#691f12f078d4483ef665474489ed3d5e">Ne7sshSftp</a>
-<li>getFileHandle()
-: <a class="el" href="classNe7sshSftp.html#abbc88e8a61db941f4497539dda1e941">Ne7sshSftp</a>
-<li>getFileSize()
-: <a class="el" href="classNe7sshSftp.html#d3bc3ac09658a39a4fd7b5db7dcdaa4b">Ne7sshSftp</a>
-<li>getFileStats()
-: <a class="el" href="classNe7sshSftp.html#0472f6b8ead7dff51b02019d295f4074">Ne7sshSftp</a>
-<li>getFStat()
-: <a class="el" href="classNe7sshSftp.html#2ee78de5897e00e1390834f165ea8b0e">Ne7sshSftp</a>
-<li>getFullPath()
-: <a class="el" href="classNe7sshSftp.html#deb660f5da985539b30f156c02d39fdf">Ne7sshSftp</a>
-<li>getHashAlgo()
-: <a class="el" href="classne7ssh__crypt.html#bb189c522e1e1d73173416689d22a62a">ne7ssh_crypt</a>
-<li>getHmacAlgo()
-: <a class="el" href="classne7ssh__crypt.html#faa73d65add3445442f908794ea0fbf4">ne7ssh_crypt</a>
-<li>getInt()
-: <a class="el" href="classne7ssh__string.html#d7cb4926f971ecbe25a03bca59d0e6bb">ne7ssh_string</a>
-<li>getInt64()
-: <a class="el" href="classNe7sshSftpPacket.html#49290c1b73cf7cfbe684555e7b125317">Ne7sshSftpPacket</a>
-<li>getKexPublic()
-: <a class="el" href="classne7ssh__crypt.html#186ac0a5ff182c14d59be1885975405d">ne7ssh_crypt</a>
-<li>getKeyAlgo()
-: <a class="el" href="classne7ssh__keys.html#70fa62aa01e0104f8d414ca0ef398cee">ne7ssh_keys</a>
-<li>getKeyPairFromFile()
-: <a class="el" href="classne7ssh__keys.html#dbc39ba71fd5b7a3c613c90d8620711b">ne7ssh_keys</a>
-<li>getLocalVersion()
-: <a class="el" href="classne7ssh__session.html#dcb13b996558fee795ab500ac3cbf000">ne7ssh_session</a>
-<li>getMacDigestLen()
-: <a class="el" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">ne7ssh_crypt</a>
-<li>getMacInLen()
-: <a class="el" href="classne7ssh__crypt.html#3c76070368181e321c9fd1a08074cffe">ne7ssh_crypt</a>
-<li>getMacKeyLen()
-: <a class="el" href="classne7ssh__crypt.html#24e2ba8ce4221fe3d327cd35696968dd">ne7ssh_crypt</a>
-<li>getMacOutLen()
-: <a class="el" href="classne7ssh__crypt.html#bf9d9816678394c487700112ef003ec5">ne7ssh_crypt</a>
-<li>getMaxPacket()
-: <a class="el" href="classne7ssh__session.html#2e6c8dc645b3fdef0b20dd31baacb7f4">ne7ssh_session</a>
-<li>getPacket()
-: <a class="el" href="classne7ssh__transport.html#a602061a2091786b16527534aa8bb99a">ne7ssh_transport</a>
-<li>getPublicKeyBlob()
-: <a class="el" href="classne7ssh__keys.html#b798aaf9dcffb0098a02c3faa755c362">ne7ssh_keys</a>
-<li>getReceiveChannel()
-: <a class="el" href="classne7ssh__session.html#c5d8bc40373b415f9bd436e205fb4716">ne7ssh_session</a>
-<li>getReceived()
-: <a class="el" href="classne7ssh__connection.html#3aac541e10f43b83a42aef34a1fb876f">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">ne7ssh_channel</a>
-<li>getReceivedSize()
-: <a class="el" href="classne7ssh.html#064aab09df847060ed62953cf49f2e8f">ne7ssh</a>
-<li>getRecvWindow()
-: <a class="el" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">ne7ssh_channel</a>
-<li>getRemoteVersion()
-: <a class="el" href="classne7ssh__session.html#b2d1c655d8c81ab6bfb170235044ebc1">ne7ssh_session</a>
-<li>getRSAKey()
-: <a class="el" href="classne7ssh__crypt.html#6499bc79249c369f5a25857ce4eccd53">ne7ssh_crypt</a>
-<li>getRSAKeys()
-: <a class="el" href="classne7ssh__keys.html#faddb661a61e70eb9bc714d097d8980b">ne7ssh_keys</a>
-<li>getSendChannel()
-: <a class="el" href="classne7ssh__session.html#00db97d25e6a85ebe34cace7eecad778">ne7ssh_session</a>
-<li>getSendWindow()
-: <a class="el" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">ne7ssh_channel</a>
-<li>getSessionID()
-: <a class="el" href="classne7ssh__session.html#5fdb932109c9f9dcedbe5be2b6c166ec">ne7ssh_session</a>
-<li>getShell()
-: <a class="el" href="classne7ssh__channel.html#08d6085ea4493092d483819cde904ef5">ne7ssh_channel</a>
-<li>getSocket()
-: <a class="el" href="classne7ssh__connection.html#ec81b2d5753f8d333de76535af5cb670">ne7ssh_connection</a>
-<li>getSshChannel()
-: <a class="el" href="classne7ssh__session.html#94dc706e3fd3119b887bdefaf2fe9dda">ne7ssh_session</a>
-<li>getString()
-: <a class="el" href="classne7ssh__string.html#6437d3125dd58e4d71bd0e0351a315ec">ne7ssh_string</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x68.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x68.html
deleted file mode 100644
index bd0e22a478e..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x68.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li class="current"><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>handleChannelConfirm()
-: <a class="el" href="classne7ssh__channel.html#ec28c7ca08840c27ef98650acb520a35">ne7ssh_channel</a>
-<li>handleClose()
-: <a class="el" href="classne7ssh__channel.html#1fbc5d7d3f5f986a1a8921aecf5aaa2e">ne7ssh_channel</a>
-<li>handleData()
-: <a class="el" href="classne7ssh__connection.html#e12a09bb5c6974e0b17ce957a8bf03f0">ne7ssh_connection</a>
-, <a class="el" href="classNe7sshSftp.html#e85f889433d08962712780e4d9d5bfcc">Ne7sshSftp</a>
-, <a class="el" href="classne7ssh__channel.html#5752552709e47b3693b393be19f69139">ne7ssh_channel</a>
-<li>handleDisconnect()
-: <a class="el" href="classne7ssh__channel.html#9145226f1b6b0d2e3c20154da81d0bac">ne7ssh_channel</a>
-<li>handleEof()
-: <a class="el" href="classne7ssh__channel.html#468c9ba36282ab97e535c9285fd00b79">ne7ssh_channel</a>
-<li>handleExtendedData()
-: <a class="el" href="classne7ssh__channel.html#fa9835e80a26e96ae733de123713e1db">ne7ssh_channel</a>
-<li>handleInit()
-: <a class="el" href="classne7ssh__kex.html#aca46fcf520a7033bd2a1f30ef0cbe71">ne7ssh_kex</a>
-<li>handleKexDHReply()
-: <a class="el" href="classne7ssh__kex.html#15b9934fc983d47bab9875108ab086ed">ne7ssh_kex</a>
-<li>handleNames()
-: <a class="el" href="classNe7sshSftp.html#c78f7cc8215312df81b56c3e46c799ad">Ne7sshSftp</a>
-<li>handleReceived()
-: <a class="el" href="classne7ssh__channel.html#4cfe1bda6308751f6f89612b6ea6e5b8">ne7ssh_channel</a>
-<li>handleRequest()
-: <a class="el" href="classne7ssh__channel.html#195ca3cdebd29ea9285762bfc777eb64">ne7ssh_channel</a>
-<li>handleSftpData()
-: <a class="el" href="classNe7sshSftp.html#ff314ae7f9ba0166f1a2809fd87774c5">Ne7sshSftp</a>
-<li>handleStatus()
-: <a class="el" href="classNe7sshSftp.html#00a190fb28dba3ff1232168d3362bdd0">Ne7sshSftp</a>
-<li>handleVersion()
-: <a class="el" href="classNe7sshSftp.html#5d39897335efc1771e6f10711028b5db">Ne7sshSftp</a>
-<li>haveData()
-: <a class="el" href="classne7ssh__transport.html#c5e49ab89bc98e9da758a194b7870d57">ne7ssh_transport</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x69.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x69.html
deleted file mode 100644
index 3b1959e33ee..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x69.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li class="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>init()
-: <a class="el" href="classNe7sshSftp.html#e857080aba0bbcf6b1599e3d586010b8">Ne7sshSftp</a>
-<li>initSftp()
-: <a class="el" href="classne7ssh.html#ba692e657f29143728adbff0468cd554">ne7ssh</a>
-<li>isChannelSet()
-: <a class="el" href="classNe7sshSftpPacket.html#43daa80040c6c1676f00af013fea566f">Ne7sshSftpPacket</a>
-<li>isCmdClosed()
-: <a class="el" href="classne7ssh__connection.html#b82b95339f325564f83bc2cc091af995">ne7ssh_connection</a>
-<li>isCmdRunning()
-: <a class="el" href="classne7ssh__connection.html#53d7ae314361b4911c8802e9fa780ae8">ne7ssh_connection</a>
-<li>isCompressed()
-: <a class="el" href="classne7ssh__crypt.html#79b1f3d389a5d4923e7b28c3083bbfdf">ne7ssh_crypt</a>
-<li>isConnected()
-: <a class="el" href="classne7ssh__connection.html#27691577539dd356f7f872755d7053de">ne7ssh_connection</a>
-<li>isDir()
-: <a class="el" href="classNe7SftpSubsystem.html#9dc82cfe8ab7134a23ed1d9a8d812385">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#59b34ba51b2cd851777a4303e0aa0867">Ne7sshSftp</a>
-<li>isFile()
-: <a class="el" href="classNe7sshSftp.html#91d287ebd0152a37b72fd8a61942f099">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#32d54e5da7a8b963f5d1c07b47b7a6d1">Ne7SftpSubsystem</a>
-<li>isInited()
-: <a class="el" href="classne7ssh__crypt.html#8bb9cf592ff0151a89e9a0f20be192ac">ne7ssh_crypt</a>
-<li>isOpen()
-: <a class="el" href="classne7ssh__connection.html#5062b1df08b2cdb04ee8b6b2b73f0733">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">ne7ssh_channel</a>
-<li>isRemoteShell()
-: <a class="el" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#9919d63251df10e4c0d4fd695b0751c2">ne7ssh_connection</a>
-<li>isSftpActive()
-: <a class="el" href="classne7ssh__connection.html#a149c0df2bf930f115026633d9daf550">ne7ssh_connection</a>
-<li>isType()
-: <a class="el" href="classNe7sshSftp.html#6664675a3ac0b9841eeee451e089747b">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6c.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x6c.html
deleted file mode 100644
index 0dc8af8a486..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6c.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li class="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>length()
-: <a class="el" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">ne7ssh_string</a>
-<li>lock()
-: <a class="el" href="classne7ssh.html#bf36d7f85f42e982ed62cf303dc35ac6">ne7ssh</a>
-, <a class="el" href="classNe7sshError.html#3b11aa0df3bc2e66755054307cedf2fa">Ne7sshError</a>
-<li>ls()
-: <a class="el" href="classNe7SftpSubsystem.html#2e33455d3c7962e7ce4cf44ca5563005">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#b6899910533f6f09c5a0322549e71367">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6d.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x6d.html
deleted file mode 100644
index f29e031dc16..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6d.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li class="current"><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>makeH()
-: <a class="el" href="classne7ssh__kex.html#a16951ccf9d9a651b30c04fbcc9f2e01">ne7ssh_kex</a>
-<li>makeKexSecret()
-: <a class="el" href="classne7ssh__crypt.html#3f5bb3646329aeba7629c0b2a6f721db">ne7ssh_crypt</a>
-<li>makeNewKeys()
-: <a class="el" href="classne7ssh__crypt.html#ceaba42fbb74e422ff53c8f4135c24f8">ne7ssh_crypt</a>
-<li>mkdir()
-: <a class="el" href="classNe7sshSftp.html#55e47dfc93a93d7b7b19e938eb4042ca">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#182111ca7e0873bfcac9f7970cba7d5d">Ne7SftpSubsystem</a>
-<li>mv()
-: <a class="el" href="classNe7SftpSubsystem.html#197400dfc6fa7ab90a7150800eb0ad2e">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#24ba4bf55763a6eb9457e9522b3ce986">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6e.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x6e.html
deleted file mode 100644
index b6e426508c7..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6e.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li class="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>Ne7SftpSubsystem()
-: <a class="el" href="classNe7SftpSubsystem.html#86e3b1992107ac21d83345ed48c74e2f">Ne7SftpSubsystem</a>
-<li>ne7ssh()
-: <a class="el" href="classne7ssh.html#cd9f52f210e962070b103dba82a16c3a">ne7ssh</a>
-<li>ne7ssh_channel()
-: <a class="el" href="classne7ssh__channel.html#2ca4770827c460ade71f4f64e14c78d9">ne7ssh_channel</a>
-<li>ne7ssh_connection()
-: <a class="el" href="classne7ssh__connection.html#7024b9b12d517609243fb90ecd859434">ne7ssh_connection</a>
-<li>ne7ssh_crypt()
-: <a class="el" href="classne7ssh__crypt.html#f0cf20c305e57d2dd9c7a6993a447aa4">ne7ssh_crypt</a>
-<li>ne7ssh_kex()
-: <a class="el" href="classne7ssh__kex.html#ac9d99203f3719b79dd97f5842d081d8">ne7ssh_kex</a>
-<li>ne7ssh_keys()
-: <a class="el" href="classne7ssh__keys.html#d9edaab331f5e56112d035b904a59dca">ne7ssh_keys</a>
-<li>ne7ssh_session()
-: <a class="el" href="classne7ssh__session.html#7a369998cf07127098ac4ea5a7c14ee0">ne7ssh_session</a>
-<li>ne7ssh_string()
-: <a class="el" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>
-<li>ne7ssh_transport()
-: <a class="el" href="classne7ssh__transport.html#bc335c4d181ee23ef6f6c819d41a9533">ne7ssh_transport</a>
-<li>Ne7sshError()
-: <a class="el" href="classNe7sshError.html#98192346f46ec8c74ff27cb1f5ff1fb7">Ne7sshError</a>
-<li>Ne7sshSftp()
-: <a class="el" href="classNe7sshSftp.html#1ccf95ce0c82fc811a5357c5bd97c47a">Ne7sshSftp</a>
-<li>Ne7sshSftpPacket()
-: <a class="el" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a>
-<li>negotiatedCmprsC2s()
-: <a class="el" href="classne7ssh__crypt.html#acdaa6ad6ab255c0ac561a2bf2e5a244">ne7ssh_crypt</a>
-<li>negotiatedCmprsS2c()
-: <a class="el" href="classne7ssh__crypt.html#22552971623f05e13ec30f3f1caf8ffb">ne7ssh_crypt</a>
-<li>negotiatedCryptoC2s()
-: <a class="el" href="classne7ssh__crypt.html#138128d5a07f05e6877ac71dece40438">ne7ssh_crypt</a>
-<li>negotiatedCryptoS2c()
-: <a class="el" href="classne7ssh__crypt.html#8ab5f2aa3ef6908133316194b6430ec3">ne7ssh_crypt</a>
-<li>negotiatedHostkey()
-: <a class="el" href="classne7ssh__crypt.html#12ab09c8790545b43d4f588db3dbf2e7">ne7ssh_crypt</a>
-<li>negotiatedKex()
-: <a class="el" href="classne7ssh__crypt.html#d78b64cf65fc2e732c07c106ad6f3e06">ne7ssh_crypt</a>
-<li>negotiatedMacC2s()
-: <a class="el" href="classne7ssh__crypt.html#bf42f3c247950d28785d3e7404b62613">ne7ssh_crypt</a>
-<li>negotiatedMacS2c()
-: <a class="el" href="classne7ssh__crypt.html#5408c49468306c685ad80afb06111cf9">ne7ssh_crypt</a>
-<li>nextPart()
-: <a class="el" href="classne7ssh__string.html#198a4c462ea4e73314c81003f09c98bd">ne7ssh_string</a>
-<li>NoBlock()
-: <a class="el" href="classne7ssh__transport.html#750400736781c5d40a68a47f95f3af00">ne7ssh_transport</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6f.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x6f.html
deleted file mode 100644
index 5381ac7afc7..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x6f.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li class="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>open()
-: <a class="el" href="classne7ssh__channel.html#d744609a8a3ee9c204eabfb87343808d">ne7ssh_channel</a>
-<li>openDir()
-: <a class="el" href="classNe7SftpSubsystem.html#e2de3ddfdace4f37680ffb9969bba017">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#4450ac43a6a9d682933d529c60025680">Ne7sshSftp</a>
-<li>openFile()
-: <a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x70.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x70.html
deleted file mode 100644
index 17aa639c291..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x70.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li class="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>pop()
-: <a class="el" href="classNe7sshError.html#3125b664de91952b9336f4fe1789ebcc">Ne7sshError</a>
-<li>processAttrs()
-: <a class="el" href="classNe7sshSftp.html#ca25876efc6fc9c6d0f6a45b7f66aa13">Ne7sshSftp</a>
-<li>push()
-: <a class="el" href="classNe7sshError.html#c1864f802fdd6d2375e4ffad23fa7875">Ne7sshError</a>
-<li>put()
-: <a class="el" href="classNe7SftpSubsystem.html#44cde20b6c96d02ebe1314cc343327d2">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#aeacc2f7540067dd82cf04c78da5ee42">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x72.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x72.html
deleted file mode 100644
index 906a41136ef..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x72.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li class="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>read()
-: <a class="el" href="classne7ssh.html#538eab080fb5f1dca1bab2db6eed1998">ne7ssh</a>
-<li>readBinary()
-: <a class="el" href="classne7ssh.html#b85697ca0326536d7a475fc7467d27a5">ne7ssh</a>
-<li>readFile()
-: <a class="el" href="classNe7sshSftp.html#fee9fa39f3ec886f9254c379b820b0ba">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#110c09fc4eeadc93359ea3f3ced96f74">Ne7SftpSubsystem</a>
-<li>receive()
-: <a class="el" href="classne7ssh__channel.html#450654cc1a212b348b7ccadd5d83e4df">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__transport.html#e68ee5d295430f648424b5ba359d9503">ne7ssh_transport</a>
-<li>receiveUntil()
-: <a class="el" href="classNe7sshSftp.html#54c29781531b3faa940c5285e7e1a094">Ne7sshSftp</a>
-<li>receiveWhile()
-: <a class="el" href="classNe7sshSftp.html#9728a4a0c2f63f9b5354bc1998057b21">Ne7sshSftp</a>
-<li>receiveWindowAdjust()
-: <a class="el" href="classNe7sshSftp.html#95b06a2af672b770eeccf32f9bf27f44">Ne7sshSftp</a>
-<li>requestService()
-: <a class="el" href="classne7ssh__connection.html#fc3d154a577c422670c43dfa4c38fd0c">ne7ssh_connection</a>
-<li>resetParts()
-: <a class="el" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">ne7ssh_string</a>
-<li>rm()
-: <a class="el" href="classNe7SftpSubsystem.html#2cfe3fb14e7e21c84bf27828c424ec8c">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#7016d759690e078aa3be651bafc5b84b">Ne7sshSftp</a>
-<li>rmdir()
-: <a class="el" href="classNe7SftpSubsystem.html#22339987ced8ffc3851b3d511b036db0">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#17021eaaf1224e74a052ef4ed40864ec">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x73.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x73.html
deleted file mode 100644
index 402d9d48213..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x73.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li class="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>selectThread()
-: <a class="el" href="classne7ssh.html#4a4e0fd7109e9b820d4d5ef91bed4117">ne7ssh</a>
-<li>send()
-: <a class="el" href="classne7ssh.html#12be5a9661abf8deee660fd404d2a108">ne7ssh</a>
-, <a class="el" href="classne7ssh__transport.html#e88fef35a5b4b0960ccee3142e486eb6">ne7ssh_transport</a>
-<li>sendAdjustWindow()
-: <a class="el" href="classne7ssh__channel.html#959a7e3dc6162e4a7c3a30470728b835">ne7ssh_channel</a>
-<li>sendAll()
-: <a class="el" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">ne7ssh_channel</a>
-<li>sendClose()
-: <a class="el" href="classne7ssh__channel.html#96400430e7b338389aab85a04ea9921e">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#f90793537ef75cbed854f4e525a5c01b">ne7ssh_connection</a>
-<li>sendCmd()
-: <a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">ne7ssh</a>
-, <a class="el" href="classne7ssh__connection.html#9b0770473939bb8230be993d3948017d">ne7ssh_connection</a>
-<li>sendData()
-: <a class="el" href="classne7ssh__connection.html#c809469add6347cdc78c44491746062f">ne7ssh_connection</a>
-<li>sendEof()
-: <a class="el" href="classne7ssh__channel.html#5a4bed6a381e7c2521995015272ebb8b">ne7ssh_channel</a>
-<li>sendInit()
-: <a class="el" href="classne7ssh__kex.html#f86fc5b573f9a53c031fc29957c39382">ne7ssh_kex</a>
-<li>sendKexDHInit()
-: <a class="el" href="classne7ssh__kex.html#d45276ccfbfa8152386a489463a320b7">ne7ssh_kex</a>
-<li>sendKexNewKeys()
-: <a class="el" href="classne7ssh__kex.html#05c93da52330ad461cdc65bba1dc014a">ne7ssh_kex</a>
-<li>sendLocalVersion()
-: <a class="el" href="classne7ssh__connection.html#9bb5d840002bdf4b8a5f81fdfbee671b">ne7ssh_connection</a>
-<li>sendPacket()
-: <a class="el" href="classne7ssh__transport.html#c62051d1b6aeeb65867ffd1c1578938f">ne7ssh_transport</a>
-<li>setChannelNo()
-: <a class="el" href="classne7ssh__connection.html#717902f4f3a863309e1d013982aecd41">ne7ssh_connection</a>
-<li>setCount()
-: <a class="el" href="classne7ssh.html#df55894efd2972b10cc39bbc2a3c55be">ne7ssh</a>
-<li>setLocalVersion()
-: <a class="el" href="classne7ssh__session.html#839dfb6558383f481f0223d45c096bcd">ne7ssh_session</a>
-<li>setMaxPacket()
-: <a class="el" href="classne7ssh__session.html#499c1ccb25eafd7f7074b98d3ae60eb3">ne7ssh_session</a>
-<li>setOptions()
-: <a class="el" href="classne7ssh.html#7a6d6135eb938753ce9ebc68237fc602">ne7ssh</a>
-<li>setReceiveChannel()
-: <a class="el" href="classne7ssh__session.html#4d6e88cea05265988d81aeff39aa9239">ne7ssh_session</a>
-<li>setRemoteVersion()
-: <a class="el" href="classne7ssh__session.html#17733deec9178fec1a48eabd06742ea9">ne7ssh_session</a>
-<li>setSendChannel()
-: <a class="el" href="classne7ssh__session.html#e470ff2211464c8d9ba16d6f313a5a3a">ne7ssh_session</a>
-<li>setSessionID()
-: <a class="el" href="classne7ssh__session.html#eb3056339c4d4852a24f9ead0b065104">ne7ssh_session</a>
-<li>setSshChannel()
-: <a class="el" href="classne7ssh__session.html#f58965a25e570cc4076322eee96aa9f0">ne7ssh_session</a>
-<li>setTimeout()
-: <a class="el" href="classNe7SftpSubsystem.html#4d7d02621a9a81b36a152c9c7abfffae">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#991bfa710d93c4fba67bb810f1068676">Ne7sshSftp</a>
-<li>split()
-: <a class="el" href="classne7ssh__string.html#47f06a2606e6982a2741de59be7ea786">ne7ssh_string</a>
-<li>startSftp()
-: <a class="el" href="classne7ssh__connection.html#cd5e5fa36d401e816ce15989d30618c7">ne7ssh_connection</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x75.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x75.html
deleted file mode 100644
index 168a83a13c0..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x75.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li class="current"><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>unlock()
-: <a class="el" href="classne7ssh.html#706db04659ef8e8deb38192de9f115bb">ne7ssh</a>
-, <a class="el" href="classNe7sshError.html#932684048dc2793a350a1bd25160fb3c">Ne7sshError</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x76.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x76.html
deleted file mode 100644
index fa0714a7e62..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x76.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li class="current"><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>value()
-: <a class="el" href="classNe7sshSftpPacket.html#a9ad7d742391e82b582bbe92d7733bac">Ne7sshSftpPacket</a>
-, <a class="el" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">ne7ssh_string</a>
-<li>valueFragment()
-: <a class="el" href="classNe7sshSftpPacket.html#9752d881865bf4aa3eb55ce6207a2014">Ne7sshSftpPacket</a>
-<li>verifySig()
-: <a class="el" href="classne7ssh__crypt.html#48631162f8d43e1ee7bbe682a43f0c52">ne7ssh_crypt</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x77.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x77.html
deleted file mode 100644
index 5db1eed7af5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x77.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li class="current"><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>wait()
-: <a class="el" href="classne7ssh__transport.html#e61c53b2f743afecec25cfe7fffc3799">ne7ssh_transport</a>
-<li>waitFor()
-: <a class="el" href="classne7ssh.html#cf5fb060ded2fbc2d923e6b925b74bba">ne7ssh</a>
-<li>waitForPacket()
-: <a class="el" href="classne7ssh__transport.html#8d502d0e554e92d9536f8be2f9e07fd0">ne7ssh_transport</a>
-<li>write()
-: <a class="el" href="classne7ssh__channel.html#8154fdfcc75f63d71f6d4ebe29155590">ne7ssh_channel</a>
-<li>writeFile()
-: <a class="el" href="classNe7SftpSubsystem.html#b140ea998359cbcb4ab902a0f1ac0f7d">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#6fd55afdebec6ece8af2d5524dc2e5a0">Ne7sshSftp</a>
-<li>writeMode
-: <a class="el" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">Ne7SftpSubsystem</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_0x7e.html b/src/libs/3rdparty/net7ssh/doc/html/functions_0x7e.html
deleted file mode 100644
index 40cd4ce5fd5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_0x7e.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-      <li class="current"><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~Ne7SftpSubsystem()
-: <a class="el" href="classNe7SftpSubsystem.html#3b9899662d8b56efce4323b3d5253f08">Ne7SftpSubsystem</a>
-<li>~ne7ssh()
-: <a class="el" href="classne7ssh.html#054d834b63e9b32603a2c93f2d5f2c93">ne7ssh</a>
-<li>~ne7ssh_channel()
-: <a class="el" href="classne7ssh__channel.html#59b4a174d73ee8cbdec676f6cbe69c5b">ne7ssh_channel</a>
-<li>~ne7ssh_connection()
-: <a class="el" href="classne7ssh__connection.html#089e8aa8fbdfded464394ee94334d36c">ne7ssh_connection</a>
-<li>~ne7ssh_crypt()
-: <a class="el" href="classne7ssh__crypt.html#e72d6e5cb5125d4ed58ce06069aa21b2">ne7ssh_crypt</a>
-<li>~ne7ssh_kex()
-: <a class="el" href="classne7ssh__kex.html#29b408432a50b3d193b3f9cd4a952782">ne7ssh_kex</a>
-<li>~ne7ssh_keys()
-: <a class="el" href="classne7ssh__keys.html#dbe80f9c6f7806d5909bb811b4a73cb8">ne7ssh_keys</a>
-<li>~ne7ssh_session()
-: <a class="el" href="classne7ssh__session.html#f1190264bc6469759a9644351610e591">ne7ssh_session</a>
-<li>~ne7ssh_string()
-: <a class="el" href="classne7ssh__string.html#0b8fd6571f6e272c199521d1badecea6">ne7ssh_string</a>
-<li>~ne7ssh_transport()
-: <a class="el" href="classne7ssh__transport.html#c9b896ad9d855fc818b0b5350f47ccf7">ne7ssh_transport</a>
-<li>~Ne7sshError()
-: <a class="el" href="classNe7sshError.html#8b95b91913fab0429704043c215863fa">Ne7sshError</a>
-<li>~Ne7sshSftp()
-: <a class="el" href="classNe7sshSftp.html#1d4bcdec50d428aa32c6c94919502dae">Ne7sshSftp</a>
-<li>~Ne7sshSftpPacket()
-: <a class="el" href="classNe7sshSftpPacket.html#515d160ed0a9b6d25df767cb57fee7ab">Ne7sshSftpPacket</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_enum.html b/src/libs/3rdparty/net7ssh/doc/html/functions_enum.html
deleted file mode 100644
index e8ea3b1da79..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_enum.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Enumerations</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<ul>
-<li>writeMode
-: <a class="el" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">Ne7SftpSubsystem</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func.html
deleted file mode 100644
index faa8c4818ff..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>addBigInt()
-: <a class="el" href="classne7ssh__string.html#477f55539eb249bda2a7c311f2639437">ne7ssh_string</a>
-<li>addBytes()
-: <a class="el" href="classne7ssh__string.html#4bf8792affeb750976e18f658eeba5ee">ne7ssh_string</a>
-<li>addChar()
-: <a class="el" href="classne7ssh__string.html#b746c998869885e043ff1db422c8ebf5">ne7ssh_string</a>
-<li>addFile()
-: <a class="el" href="classne7ssh__string.html#2fdcd0fa8215c6ce73ec8dc61f7ae8c5">ne7ssh_string</a>
-<li>addInt()
-: <a class="el" href="classne7ssh__string.html#387c791ce256b9a3747f654596b5945f">ne7ssh_string</a>
-<li>addInt64()
-: <a class="el" href="classNe7sshSftpPacket.html#fa2cc71f2c697621a22c092a84d4bbbb">Ne7sshSftpPacket</a>
-<li>addOpenHandle()
-: <a class="el" href="classNe7sshSftp.html#163fe473cdd37cb441b11391ecfe3de2">Ne7sshSftp</a>
-<li>addString()
-: <a class="el" href="classne7ssh__string.html#28ea3ddaf5f19c6202bd173c990ed835">ne7ssh_string</a>
-<li>addVector()
-: <a class="el" href="classne7ssh__string.html#f0e0658970d00f271b5053130e294ee4">ne7ssh_string</a>
-<li>addVectorField()
-: <a class="el" href="classne7ssh__string.html#e5925806510ef106e1435640b6010bc7">ne7ssh_string</a>
-<li>adjustRecvWindow()
-: <a class="el" href="classne7ssh__channel.html#a2d5379bfc1884c3f12bd024bdb0ca9a">ne7ssh_channel</a>
-<li>adjustWindow()
-: <a class="el" href="classne7ssh__channel.html#bc8252b3f45175c8178d495f11c748a0">ne7ssh_channel</a>
-<li>agree()
-: <a class="el" href="classne7ssh__crypt.html#448aa6a6bc69facb7087935a8314fbd3">ne7ssh_crypt</a>
-<li>authWithKey()
-: <a class="el" href="classne7ssh__connection.html#e1103a358cc4c5e5551cc02b456f5b49">ne7ssh_connection</a>
-<li>authWithPassword()
-: <a class="el" href="classne7ssh__connection.html#cfc0a9286778d088487e1e6eef89f9d1">ne7ssh_connection</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x62.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x62.html
deleted file mode 100644
index 9151f353652..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x62.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li class="current"><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>bn2vector()
-: <a class="el" href="classne7ssh__string.html#7c1276275a551da4dc460a7f9e8884eb">ne7ssh_string</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x63.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x63.html
deleted file mode 100644
index 0746f081a7b..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x63.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li class="current"><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cd()
-: <a class="el" href="classNe7SftpSubsystem.html#0bc632d1abdac46baedaad6f76636cba">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#dfec287ad5e1a05a9ec5974e51765635">Ne7sshSftp</a>
-<li>checkRemoteVersion()
-: <a class="el" href="classne7ssh__connection.html#bb114ef7885807fef7722080c9be5fa4">ne7ssh_connection</a>
-<li>chmod()
-: <a class="el" href="classNe7SftpSubsystem.html#15cea19efa1b2ce91c0ed8c6710dee2b">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#a94a84d20f5e691d25c8d2c0c46d9f0d">Ne7sshSftp</a>
-<li>chop()
-: <a class="el" href="classne7ssh__string.html#722e2787d24d59b0432fa9a1b38f0aa2">ne7ssh_string</a>
-<li>chown()
-: <a class="el" href="classNe7sshSftp.html#577bc8eb8c066bb20e81a12284486500">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#b6ed2ff52f213c28d5186fe5e65e810b">Ne7SftpSubsystem</a>
-<li>clear()
-: <a class="el" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">ne7ssh_string</a>
-<li>close()
-: <a class="el" href="classne7ssh.html#16651c53db2eca3e2cff3d8952828a8c">ne7ssh</a>
-<li>closeFile()
-: <a class="el" href="classNe7SftpSubsystem.html#dca975297ba792499e46d1cb34bb39cb">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#47e7320f6168686934b63a7372be657c">Ne7sshSftp</a>
-<li>compressData()
-: <a class="el" href="classne7ssh__crypt.html#cff5dadc7aa6a359032d5de18e2bb7c0">ne7ssh_crypt</a>
-<li>compute_key()
-: <a class="el" href="classne7ssh__crypt.html#295dd229c74d1e26ce9a62223605f560">ne7ssh_crypt</a>
-<li>computeH()
-: <a class="el" href="classne7ssh__crypt.html#3aec4dedfe2d0c9b51879a35043d212c">ne7ssh_crypt</a>
-<li>computeMac()
-: <a class="el" href="classne7ssh__crypt.html#225001aa854efaaef8e11f5ba682e2ff">ne7ssh_crypt</a>
-<li>connectWithKey()
-: <a class="el" href="classne7ssh.html#734f0ad906e7afbb894649785053708f">ne7ssh</a>
-, <a class="el" href="classne7ssh__connection.html#4b9a9d4b26e474a175f8bacbc18e7e08">ne7ssh_connection</a>
-<li>connectWithPassword()
-: <a class="el" href="classne7ssh__connection.html#8078ac566bbddf9487131848d5c171d0">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh.html#35e3342967a280c2179ed281bca333c5">ne7ssh</a>
-<li>constructLocalKex()
-: <a class="el" href="classne7ssh__kex.html#87bd9e1b7d1a8e785c2b72a611bd4d29">ne7ssh_kex</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x64.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x64.html
deleted file mode 100644
index 68c5bf05516..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x64.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li class="current"><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>data2Send()
-: <a class="el" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#13f6f62c5d0345f1573ad5626bc8e75e">ne7ssh_connection</a>
-<li>decompressData()
-: <a class="el" href="classne7ssh__crypt.html#0fba0bef677d5df589c09e81c5eeeadb">ne7ssh_crypt</a>
-<li>decryptPacket()
-: <a class="el" href="classne7ssh__crypt.html#0962ff3850c885c983ee6c29395086ac">ne7ssh_crypt</a>
-<li>deleteChannel()
-: <a class="el" href="classNe7sshError.html#01a085e335f3bccb2d0131b872d248ee">Ne7sshError</a>
-<li>deleteCoreMsgs()
-: <a class="el" href="classNe7sshError.html#f56b902ff4e463f885b2fbc97de36eb8">Ne7sshError</a>
-<li>deleteRecord()
-: <a class="el" href="classNe7sshError.html#afd074d8a2a2f95414c2c1960c2527fb">Ne7sshError</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x65.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x65.html
deleted file mode 100644
index 889de4d8ed6..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x65.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li class="current"><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>encryptPacket()
-: <a class="el" href="classne7ssh__crypt.html#0450e84788812dcd22e0c5d6b79a1614">ne7ssh_crypt</a>
-<li>errorNotInited()
-: <a class="el" href="classNe7SftpSubsystem.html#9f850d3738bac612c5d97548c0924a87">Ne7SftpSubsystem</a>
-<li>errors()
-: <a class="el" href="classne7ssh.html#3f2c2aee58e1be2b9b620f7e53bfcfc5">ne7ssh</a>
-<li>establish()
-: <a class="el" href="classne7ssh__transport.html#122602c51b558d07920bbf3f19c53e83">ne7ssh_transport</a>
-<li>execCmd()
-: <a class="el" href="classne7ssh__channel.html#1037fa89c4b81050b98209cc89e32188">ne7ssh_channel</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x67.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x67.html
deleted file mode 100644
index ed7e15ae460..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x67.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li class="current"><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>generateDSAKeys()
-: <a class="el" href="classne7ssh__keys.html#4e1d32a1fcdf8599e1d9cc0f8382a5ce">ne7ssh_keys</a>
-<li>generateDSASignature()
-: <a class="el" href="classne7ssh__keys.html#77df178024644ea4fffab1354bf7a872">ne7ssh_keys</a>
-<li>generateKeyPair()
-: <a class="el" href="classne7ssh.html#1f91e811db4c6a997888696f7ff4c4f4">ne7ssh</a>
-<li>generateRSAKeys()
-: <a class="el" href="classne7ssh__keys.html#3cbce01402069e4d78a5a80f12d74ad4">ne7ssh_keys</a>
-<li>generateRSASignature()
-: <a class="el" href="classne7ssh__keys.html#79baa24130d9207119840f481bb03841">ne7ssh_keys</a>
-<li>generateSignature()
-: <a class="el" href="classne7ssh__keys.html#faf77aad8057e0a2e616040677ab696b">ne7ssh_keys</a>
-<li>get()
-: <a class="el" href="classNe7sshSftp.html#8744277dfd50bdc8f703db057bc8229c">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#a5078f3f824833954019ed851d24f04d">Ne7SftpSubsystem</a>
-<li>getBigInt()
-: <a class="el" href="classne7ssh__string.html#f0e1783a46f61bce09daa9cbd3a1a64b">ne7ssh_string</a>
-<li>getByte()
-: <a class="el" href="classne7ssh__string.html#231e8c002067934db84921f4bdc1c467">ne7ssh_string</a>
-<li>getChannelNo()
-: <a class="el" href="classne7ssh.html#cd7228cab037d3fc54259d7e4b18245a">ne7ssh</a>
-, <a class="el" href="classne7ssh__connection.html#8afe35dfcf55958e5578a894a9111e73">ne7ssh_connection</a>
-<li>getCmdComplete()
-: <a class="el" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#fec5882335c281c8fc06d951b4d59b26">ne7ssh_connection</a>
-<li>getConnetions()
-: <a class="el" href="classne7ssh.html#d772b5b0a9abfb7948fee9c6059ca1b7">ne7ssh</a>
-<li>getCryptAlgo()
-: <a class="el" href="classne7ssh__crypt.html#efa1d5b3cf5f6095d13704063bc4495d">ne7ssh_crypt</a>
-<li>getDecryptBlock()
-: <a class="el" href="classne7ssh__crypt.html#929c7297905b9cb6c48102a8dffc5c70">ne7ssh_crypt</a>
-<li>getDHGroup14Sha1Public()
-: <a class="el" href="classne7ssh__crypt.html#08adb48fb5a4b14a7b629435faf14ff1">ne7ssh_crypt</a>
-<li>getDHGroup1Sha1Public()
-: <a class="el" href="classne7ssh__crypt.html#86d91e4a71d0a6987a251593af2f7ebc">ne7ssh_crypt</a>
-<li>getDSAKey()
-: <a class="el" href="classne7ssh__crypt.html#553d744f2165f49bcb0f38ccef02c3c1">ne7ssh_crypt</a>
-<li>getDSAKeys()
-: <a class="el" href="classne7ssh__keys.html#9dba05ee332fd2b3947807d9ef8b0a95">ne7ssh_keys</a>
-<li>getEncryptBlock()
-: <a class="el" href="classne7ssh__crypt.html#a057f7fa33d95674f201b5765cf66b00">ne7ssh_crypt</a>
-<li>getFileAttrs()
-: <a class="el" href="classNe7SftpSubsystem.html#169ca7f6d634a762662914ffe715d139">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#691f12f078d4483ef665474489ed3d5e">Ne7sshSftp</a>
-<li>getFileHandle()
-: <a class="el" href="classNe7sshSftp.html#abbc88e8a61db941f4497539dda1e941">Ne7sshSftp</a>
-<li>getFileSize()
-: <a class="el" href="classNe7sshSftp.html#d3bc3ac09658a39a4fd7b5db7dcdaa4b">Ne7sshSftp</a>
-<li>getFileStats()
-: <a class="el" href="classNe7sshSftp.html#0472f6b8ead7dff51b02019d295f4074">Ne7sshSftp</a>
-<li>getFStat()
-: <a class="el" href="classNe7sshSftp.html#2ee78de5897e00e1390834f165ea8b0e">Ne7sshSftp</a>
-<li>getFullPath()
-: <a class="el" href="classNe7sshSftp.html#deb660f5da985539b30f156c02d39fdf">Ne7sshSftp</a>
-<li>getHashAlgo()
-: <a class="el" href="classne7ssh__crypt.html#bb189c522e1e1d73173416689d22a62a">ne7ssh_crypt</a>
-<li>getHmacAlgo()
-: <a class="el" href="classne7ssh__crypt.html#faa73d65add3445442f908794ea0fbf4">ne7ssh_crypt</a>
-<li>getInt()
-: <a class="el" href="classne7ssh__string.html#d7cb4926f971ecbe25a03bca59d0e6bb">ne7ssh_string</a>
-<li>getInt64()
-: <a class="el" href="classNe7sshSftpPacket.html#49290c1b73cf7cfbe684555e7b125317">Ne7sshSftpPacket</a>
-<li>getKexPublic()
-: <a class="el" href="classne7ssh__crypt.html#186ac0a5ff182c14d59be1885975405d">ne7ssh_crypt</a>
-<li>getKeyAlgo()
-: <a class="el" href="classne7ssh__keys.html#70fa62aa01e0104f8d414ca0ef398cee">ne7ssh_keys</a>
-<li>getKeyPairFromFile()
-: <a class="el" href="classne7ssh__keys.html#dbc39ba71fd5b7a3c613c90d8620711b">ne7ssh_keys</a>
-<li>getLocalVersion()
-: <a class="el" href="classne7ssh__session.html#dcb13b996558fee795ab500ac3cbf000">ne7ssh_session</a>
-<li>getMacDigestLen()
-: <a class="el" href="classne7ssh__crypt.html#99d0844e6da0e1c692f04a00d66c436b">ne7ssh_crypt</a>
-<li>getMacInLen()
-: <a class="el" href="classne7ssh__crypt.html#3c76070368181e321c9fd1a08074cffe">ne7ssh_crypt</a>
-<li>getMacKeyLen()
-: <a class="el" href="classne7ssh__crypt.html#24e2ba8ce4221fe3d327cd35696968dd">ne7ssh_crypt</a>
-<li>getMacOutLen()
-: <a class="el" href="classne7ssh__crypt.html#bf9d9816678394c487700112ef003ec5">ne7ssh_crypt</a>
-<li>getMaxPacket()
-: <a class="el" href="classne7ssh__session.html#2e6c8dc645b3fdef0b20dd31baacb7f4">ne7ssh_session</a>
-<li>getPacket()
-: <a class="el" href="classne7ssh__transport.html#a602061a2091786b16527534aa8bb99a">ne7ssh_transport</a>
-<li>getPublicKeyBlob()
-: <a class="el" href="classne7ssh__keys.html#b798aaf9dcffb0098a02c3faa755c362">ne7ssh_keys</a>
-<li>getReceiveChannel()
-: <a class="el" href="classne7ssh__session.html#c5d8bc40373b415f9bd436e205fb4716">ne7ssh_session</a>
-<li>getReceived()
-: <a class="el" href="classne7ssh__connection.html#3aac541e10f43b83a42aef34a1fb876f">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">ne7ssh_channel</a>
-<li>getReceivedSize()
-: <a class="el" href="classne7ssh.html#064aab09df847060ed62953cf49f2e8f">ne7ssh</a>
-<li>getRecvWindow()
-: <a class="el" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">ne7ssh_channel</a>
-<li>getRemoteVersion()
-: <a class="el" href="classne7ssh__session.html#b2d1c655d8c81ab6bfb170235044ebc1">ne7ssh_session</a>
-<li>getRSAKey()
-: <a class="el" href="classne7ssh__crypt.html#6499bc79249c369f5a25857ce4eccd53">ne7ssh_crypt</a>
-<li>getRSAKeys()
-: <a class="el" href="classne7ssh__keys.html#faddb661a61e70eb9bc714d097d8980b">ne7ssh_keys</a>
-<li>getSendChannel()
-: <a class="el" href="classne7ssh__session.html#00db97d25e6a85ebe34cace7eecad778">ne7ssh_session</a>
-<li>getSendWindow()
-: <a class="el" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">ne7ssh_channel</a>
-<li>getSessionID()
-: <a class="el" href="classne7ssh__session.html#5fdb932109c9f9dcedbe5be2b6c166ec">ne7ssh_session</a>
-<li>getShell()
-: <a class="el" href="classne7ssh__channel.html#08d6085ea4493092d483819cde904ef5">ne7ssh_channel</a>
-<li>getSocket()
-: <a class="el" href="classne7ssh__connection.html#ec81b2d5753f8d333de76535af5cb670">ne7ssh_connection</a>
-<li>getSshChannel()
-: <a class="el" href="classne7ssh__session.html#94dc706e3fd3119b887bdefaf2fe9dda">ne7ssh_session</a>
-<li>getString()
-: <a class="el" href="classne7ssh__string.html#6437d3125dd58e4d71bd0e0351a315ec">ne7ssh_string</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x68.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x68.html
deleted file mode 100644
index 5d4474d3fb5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x68.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li class="current"><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>handleChannelConfirm()
-: <a class="el" href="classne7ssh__channel.html#ec28c7ca08840c27ef98650acb520a35">ne7ssh_channel</a>
-<li>handleClose()
-: <a class="el" href="classne7ssh__channel.html#1fbc5d7d3f5f986a1a8921aecf5aaa2e">ne7ssh_channel</a>
-<li>handleData()
-: <a class="el" href="classne7ssh__connection.html#e12a09bb5c6974e0b17ce957a8bf03f0">ne7ssh_connection</a>
-, <a class="el" href="classNe7sshSftp.html#e85f889433d08962712780e4d9d5bfcc">Ne7sshSftp</a>
-, <a class="el" href="classne7ssh__channel.html#5752552709e47b3693b393be19f69139">ne7ssh_channel</a>
-<li>handleDisconnect()
-: <a class="el" href="classne7ssh__channel.html#9145226f1b6b0d2e3c20154da81d0bac">ne7ssh_channel</a>
-<li>handleEof()
-: <a class="el" href="classne7ssh__channel.html#468c9ba36282ab97e535c9285fd00b79">ne7ssh_channel</a>
-<li>handleExtendedData()
-: <a class="el" href="classne7ssh__channel.html#fa9835e80a26e96ae733de123713e1db">ne7ssh_channel</a>
-<li>handleInit()
-: <a class="el" href="classne7ssh__kex.html#aca46fcf520a7033bd2a1f30ef0cbe71">ne7ssh_kex</a>
-<li>handleKexDHReply()
-: <a class="el" href="classne7ssh__kex.html#15b9934fc983d47bab9875108ab086ed">ne7ssh_kex</a>
-<li>handleNames()
-: <a class="el" href="classNe7sshSftp.html#c78f7cc8215312df81b56c3e46c799ad">Ne7sshSftp</a>
-<li>handleReceived()
-: <a class="el" href="classne7ssh__channel.html#4cfe1bda6308751f6f89612b6ea6e5b8">ne7ssh_channel</a>
-<li>handleRequest()
-: <a class="el" href="classne7ssh__channel.html#195ca3cdebd29ea9285762bfc777eb64">ne7ssh_channel</a>
-<li>handleSftpData()
-: <a class="el" href="classNe7sshSftp.html#ff314ae7f9ba0166f1a2809fd87774c5">Ne7sshSftp</a>
-<li>handleStatus()
-: <a class="el" href="classNe7sshSftp.html#00a190fb28dba3ff1232168d3362bdd0">Ne7sshSftp</a>
-<li>handleVersion()
-: <a class="el" href="classNe7sshSftp.html#5d39897335efc1771e6f10711028b5db">Ne7sshSftp</a>
-<li>haveData()
-: <a class="el" href="classne7ssh__transport.html#c5e49ab89bc98e9da758a194b7870d57">ne7ssh_transport</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x69.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x69.html
deleted file mode 100644
index abaa6f5d958..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x69.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li class="current"><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>init()
-: <a class="el" href="classNe7sshSftp.html#e857080aba0bbcf6b1599e3d586010b8">Ne7sshSftp</a>
-<li>initSftp()
-: <a class="el" href="classne7ssh.html#ba692e657f29143728adbff0468cd554">ne7ssh</a>
-<li>isChannelSet()
-: <a class="el" href="classNe7sshSftpPacket.html#43daa80040c6c1676f00af013fea566f">Ne7sshSftpPacket</a>
-<li>isCmdClosed()
-: <a class="el" href="classne7ssh__connection.html#b82b95339f325564f83bc2cc091af995">ne7ssh_connection</a>
-<li>isCmdRunning()
-: <a class="el" href="classne7ssh__connection.html#53d7ae314361b4911c8802e9fa780ae8">ne7ssh_connection</a>
-<li>isCompressed()
-: <a class="el" href="classne7ssh__crypt.html#79b1f3d389a5d4923e7b28c3083bbfdf">ne7ssh_crypt</a>
-<li>isConnected()
-: <a class="el" href="classne7ssh__connection.html#27691577539dd356f7f872755d7053de">ne7ssh_connection</a>
-<li>isDir()
-: <a class="el" href="classNe7SftpSubsystem.html#9dc82cfe8ab7134a23ed1d9a8d812385">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#59b34ba51b2cd851777a4303e0aa0867">Ne7sshSftp</a>
-<li>isFile()
-: <a class="el" href="classNe7sshSftp.html#91d287ebd0152a37b72fd8a61942f099">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#32d54e5da7a8b963f5d1c07b47b7a6d1">Ne7SftpSubsystem</a>
-<li>isInited()
-: <a class="el" href="classne7ssh__crypt.html#8bb9cf592ff0151a89e9a0f20be192ac">ne7ssh_crypt</a>
-<li>isOpen()
-: <a class="el" href="classne7ssh__connection.html#5062b1df08b2cdb04ee8b6b2b73f0733">ne7ssh_connection</a>
-, <a class="el" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">ne7ssh_channel</a>
-<li>isRemoteShell()
-: <a class="el" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#9919d63251df10e4c0d4fd695b0751c2">ne7ssh_connection</a>
-<li>isSftpActive()
-: <a class="el" href="classne7ssh__connection.html#a149c0df2bf930f115026633d9daf550">ne7ssh_connection</a>
-<li>isType()
-: <a class="el" href="classNe7sshSftp.html#6664675a3ac0b9841eeee451e089747b">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6c.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6c.html
deleted file mode 100644
index ecd17a0022c..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6c.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li class="current"><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>length()
-: <a class="el" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">ne7ssh_string</a>
-<li>lock()
-: <a class="el" href="classne7ssh.html#bf36d7f85f42e982ed62cf303dc35ac6">ne7ssh</a>
-, <a class="el" href="classNe7sshError.html#3b11aa0df3bc2e66755054307cedf2fa">Ne7sshError</a>
-<li>ls()
-: <a class="el" href="classNe7SftpSubsystem.html#2e33455d3c7962e7ce4cf44ca5563005">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#b6899910533f6f09c5a0322549e71367">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6d.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6d.html
deleted file mode 100644
index 00c5331565c..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6d.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li class="current"><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>makeH()
-: <a class="el" href="classne7ssh__kex.html#a16951ccf9d9a651b30c04fbcc9f2e01">ne7ssh_kex</a>
-<li>makeKexSecret()
-: <a class="el" href="classne7ssh__crypt.html#3f5bb3646329aeba7629c0b2a6f721db">ne7ssh_crypt</a>
-<li>makeNewKeys()
-: <a class="el" href="classne7ssh__crypt.html#ceaba42fbb74e422ff53c8f4135c24f8">ne7ssh_crypt</a>
-<li>mkdir()
-: <a class="el" href="classNe7sshSftp.html#55e47dfc93a93d7b7b19e938eb4042ca">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#182111ca7e0873bfcac9f7970cba7d5d">Ne7SftpSubsystem</a>
-<li>mv()
-: <a class="el" href="classNe7SftpSubsystem.html#197400dfc6fa7ab90a7150800eb0ad2e">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#24ba4bf55763a6eb9457e9522b3ce986">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6e.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6e.html
deleted file mode 100644
index f48e7975b6a..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6e.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li class="current"><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>Ne7SftpSubsystem()
-: <a class="el" href="classNe7SftpSubsystem.html#86e3b1992107ac21d83345ed48c74e2f">Ne7SftpSubsystem</a>
-<li>ne7ssh()
-: <a class="el" href="classne7ssh.html#cd9f52f210e962070b103dba82a16c3a">ne7ssh</a>
-<li>ne7ssh_channel()
-: <a class="el" href="classne7ssh__channel.html#2ca4770827c460ade71f4f64e14c78d9">ne7ssh_channel</a>
-<li>ne7ssh_connection()
-: <a class="el" href="classne7ssh__connection.html#7024b9b12d517609243fb90ecd859434">ne7ssh_connection</a>
-<li>ne7ssh_crypt()
-: <a class="el" href="classne7ssh__crypt.html#f0cf20c305e57d2dd9c7a6993a447aa4">ne7ssh_crypt</a>
-<li>ne7ssh_kex()
-: <a class="el" href="classne7ssh__kex.html#ac9d99203f3719b79dd97f5842d081d8">ne7ssh_kex</a>
-<li>ne7ssh_keys()
-: <a class="el" href="classne7ssh__keys.html#d9edaab331f5e56112d035b904a59dca">ne7ssh_keys</a>
-<li>ne7ssh_session()
-: <a class="el" href="classne7ssh__session.html#7a369998cf07127098ac4ea5a7c14ee0">ne7ssh_session</a>
-<li>ne7ssh_string()
-: <a class="el" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>
-<li>ne7ssh_transport()
-: <a class="el" href="classne7ssh__transport.html#bc335c4d181ee23ef6f6c819d41a9533">ne7ssh_transport</a>
-<li>Ne7sshError()
-: <a class="el" href="classNe7sshError.html#98192346f46ec8c74ff27cb1f5ff1fb7">Ne7sshError</a>
-<li>Ne7sshSftp()
-: <a class="el" href="classNe7sshSftp.html#1ccf95ce0c82fc811a5357c5bd97c47a">Ne7sshSftp</a>
-<li>Ne7sshSftpPacket()
-: <a class="el" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a>
-<li>negotiatedCmprsC2s()
-: <a class="el" href="classne7ssh__crypt.html#acdaa6ad6ab255c0ac561a2bf2e5a244">ne7ssh_crypt</a>
-<li>negotiatedCmprsS2c()
-: <a class="el" href="classne7ssh__crypt.html#22552971623f05e13ec30f3f1caf8ffb">ne7ssh_crypt</a>
-<li>negotiatedCryptoC2s()
-: <a class="el" href="classne7ssh__crypt.html#138128d5a07f05e6877ac71dece40438">ne7ssh_crypt</a>
-<li>negotiatedCryptoS2c()
-: <a class="el" href="classne7ssh__crypt.html#8ab5f2aa3ef6908133316194b6430ec3">ne7ssh_crypt</a>
-<li>negotiatedHostkey()
-: <a class="el" href="classne7ssh__crypt.html#12ab09c8790545b43d4f588db3dbf2e7">ne7ssh_crypt</a>
-<li>negotiatedKex()
-: <a class="el" href="classne7ssh__crypt.html#d78b64cf65fc2e732c07c106ad6f3e06">ne7ssh_crypt</a>
-<li>negotiatedMacC2s()
-: <a class="el" href="classne7ssh__crypt.html#bf42f3c247950d28785d3e7404b62613">ne7ssh_crypt</a>
-<li>negotiatedMacS2c()
-: <a class="el" href="classne7ssh__crypt.html#5408c49468306c685ad80afb06111cf9">ne7ssh_crypt</a>
-<li>nextPart()
-: <a class="el" href="classne7ssh__string.html#198a4c462ea4e73314c81003f09c98bd">ne7ssh_string</a>
-<li>NoBlock()
-: <a class="el" href="classne7ssh__transport.html#750400736781c5d40a68a47f95f3af00">ne7ssh_transport</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6f.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6f.html
deleted file mode 100644
index c6d4da4eef4..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x6f.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li class="current"><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>open()
-: <a class="el" href="classne7ssh__channel.html#d744609a8a3ee9c204eabfb87343808d">ne7ssh_channel</a>
-<li>openDir()
-: <a class="el" href="classNe7SftpSubsystem.html#e2de3ddfdace4f37680ffb9969bba017">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#4450ac43a6a9d682933d529c60025680">Ne7sshSftp</a>
-<li>openFile()
-: <a class="el" href="classNe7SftpSubsystem.html#7e2df0ba14cf164591912191bd0f756e">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x70.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x70.html
deleted file mode 100644
index 5724154bc43..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x70.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li class="current"><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>pop()
-: <a class="el" href="classNe7sshError.html#3125b664de91952b9336f4fe1789ebcc">Ne7sshError</a>
-<li>processAttrs()
-: <a class="el" href="classNe7sshSftp.html#ca25876efc6fc9c6d0f6a45b7f66aa13">Ne7sshSftp</a>
-<li>push()
-: <a class="el" href="classNe7sshError.html#c1864f802fdd6d2375e4ffad23fa7875">Ne7sshError</a>
-<li>put()
-: <a class="el" href="classNe7SftpSubsystem.html#44cde20b6c96d02ebe1314cc343327d2">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#aeacc2f7540067dd82cf04c78da5ee42">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x72.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x72.html
deleted file mode 100644
index 2cdf7c35fa0..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x72.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li class="current"><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>read()
-: <a class="el" href="classne7ssh.html#538eab080fb5f1dca1bab2db6eed1998">ne7ssh</a>
-<li>readBinary()
-: <a class="el" href="classne7ssh.html#b85697ca0326536d7a475fc7467d27a5">ne7ssh</a>
-<li>readFile()
-: <a class="el" href="classNe7sshSftp.html#fee9fa39f3ec886f9254c379b820b0ba">Ne7sshSftp</a>
-, <a class="el" href="classNe7SftpSubsystem.html#110c09fc4eeadc93359ea3f3ced96f74">Ne7SftpSubsystem</a>
-<li>receive()
-: <a class="el" href="classne7ssh__channel.html#450654cc1a212b348b7ccadd5d83e4df">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__transport.html#e68ee5d295430f648424b5ba359d9503">ne7ssh_transport</a>
-<li>receiveUntil()
-: <a class="el" href="classNe7sshSftp.html#54c29781531b3faa940c5285e7e1a094">Ne7sshSftp</a>
-<li>receiveWhile()
-: <a class="el" href="classNe7sshSftp.html#9728a4a0c2f63f9b5354bc1998057b21">Ne7sshSftp</a>
-<li>receiveWindowAdjust()
-: <a class="el" href="classNe7sshSftp.html#95b06a2af672b770eeccf32f9bf27f44">Ne7sshSftp</a>
-<li>requestService()
-: <a class="el" href="classne7ssh__connection.html#fc3d154a577c422670c43dfa4c38fd0c">ne7ssh_connection</a>
-<li>resetParts()
-: <a class="el" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">ne7ssh_string</a>
-<li>rm()
-: <a class="el" href="classNe7SftpSubsystem.html#2cfe3fb14e7e21c84bf27828c424ec8c">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#7016d759690e078aa3be651bafc5b84b">Ne7sshSftp</a>
-<li>rmdir()
-: <a class="el" href="classNe7SftpSubsystem.html#22339987ced8ffc3851b3d511b036db0">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#17021eaaf1224e74a052ef4ed40864ec">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x73.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x73.html
deleted file mode 100644
index 8e8e3571c78..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x73.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li class="current"><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>selectThread()
-: <a class="el" href="classne7ssh.html#4a4e0fd7109e9b820d4d5ef91bed4117">ne7ssh</a>
-<li>send()
-: <a class="el" href="classne7ssh.html#12be5a9661abf8deee660fd404d2a108">ne7ssh</a>
-, <a class="el" href="classne7ssh__transport.html#e88fef35a5b4b0960ccee3142e486eb6">ne7ssh_transport</a>
-<li>sendAdjustWindow()
-: <a class="el" href="classne7ssh__channel.html#959a7e3dc6162e4a7c3a30470728b835">ne7ssh_channel</a>
-<li>sendAll()
-: <a class="el" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">ne7ssh_channel</a>
-<li>sendClose()
-: <a class="el" href="classne7ssh__channel.html#96400430e7b338389aab85a04ea9921e">ne7ssh_channel</a>
-, <a class="el" href="classne7ssh__connection.html#f90793537ef75cbed854f4e525a5c01b">ne7ssh_connection</a>
-<li>sendCmd()
-: <a class="el" href="classne7ssh.html#cd4c007e963c376b28cacaf0d9c9fa15">ne7ssh</a>
-, <a class="el" href="classne7ssh__connection.html#9b0770473939bb8230be993d3948017d">ne7ssh_connection</a>
-<li>sendData()
-: <a class="el" href="classne7ssh__connection.html#c809469add6347cdc78c44491746062f">ne7ssh_connection</a>
-<li>sendEof()
-: <a class="el" href="classne7ssh__channel.html#5a4bed6a381e7c2521995015272ebb8b">ne7ssh_channel</a>
-<li>sendInit()
-: <a class="el" href="classne7ssh__kex.html#f86fc5b573f9a53c031fc29957c39382">ne7ssh_kex</a>
-<li>sendKexDHInit()
-: <a class="el" href="classne7ssh__kex.html#d45276ccfbfa8152386a489463a320b7">ne7ssh_kex</a>
-<li>sendKexNewKeys()
-: <a class="el" href="classne7ssh__kex.html#05c93da52330ad461cdc65bba1dc014a">ne7ssh_kex</a>
-<li>sendLocalVersion()
-: <a class="el" href="classne7ssh__connection.html#9bb5d840002bdf4b8a5f81fdfbee671b">ne7ssh_connection</a>
-<li>sendPacket()
-: <a class="el" href="classne7ssh__transport.html#c62051d1b6aeeb65867ffd1c1578938f">ne7ssh_transport</a>
-<li>setChannelNo()
-: <a class="el" href="classne7ssh__connection.html#717902f4f3a863309e1d013982aecd41">ne7ssh_connection</a>
-<li>setCount()
-: <a class="el" href="classne7ssh.html#df55894efd2972b10cc39bbc2a3c55be">ne7ssh</a>
-<li>setLocalVersion()
-: <a class="el" href="classne7ssh__session.html#839dfb6558383f481f0223d45c096bcd">ne7ssh_session</a>
-<li>setMaxPacket()
-: <a class="el" href="classne7ssh__session.html#499c1ccb25eafd7f7074b98d3ae60eb3">ne7ssh_session</a>
-<li>setOptions()
-: <a class="el" href="classne7ssh.html#7a6d6135eb938753ce9ebc68237fc602">ne7ssh</a>
-<li>setReceiveChannel()
-: <a class="el" href="classne7ssh__session.html#4d6e88cea05265988d81aeff39aa9239">ne7ssh_session</a>
-<li>setRemoteVersion()
-: <a class="el" href="classne7ssh__session.html#17733deec9178fec1a48eabd06742ea9">ne7ssh_session</a>
-<li>setSendChannel()
-: <a class="el" href="classne7ssh__session.html#e470ff2211464c8d9ba16d6f313a5a3a">ne7ssh_session</a>
-<li>setSessionID()
-: <a class="el" href="classne7ssh__session.html#eb3056339c4d4852a24f9ead0b065104">ne7ssh_session</a>
-<li>setSshChannel()
-: <a class="el" href="classne7ssh__session.html#f58965a25e570cc4076322eee96aa9f0">ne7ssh_session</a>
-<li>setTimeout()
-: <a class="el" href="classNe7SftpSubsystem.html#4d7d02621a9a81b36a152c9c7abfffae">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#991bfa710d93c4fba67bb810f1068676">Ne7sshSftp</a>
-<li>split()
-: <a class="el" href="classne7ssh__string.html#47f06a2606e6982a2741de59be7ea786">ne7ssh_string</a>
-<li>startSftp()
-: <a class="el" href="classne7ssh__connection.html#cd5e5fa36d401e816ce15989d30618c7">ne7ssh_connection</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x75.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x75.html
deleted file mode 100644
index 0548b8639ba..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x75.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li class="current"><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>unlock()
-: <a class="el" href="classne7ssh.html#706db04659ef8e8deb38192de9f115bb">ne7ssh</a>
-, <a class="el" href="classNe7sshError.html#932684048dc2793a350a1bd25160fb3c">Ne7sshError</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x76.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x76.html
deleted file mode 100644
index 69c4883da15..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x76.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li class="current"><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>value()
-: <a class="el" href="classNe7sshSftpPacket.html#a9ad7d742391e82b582bbe92d7733bac">Ne7sshSftpPacket</a>
-, <a class="el" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">ne7ssh_string</a>
-<li>valueFragment()
-: <a class="el" href="classNe7sshSftpPacket.html#9752d881865bf4aa3eb55ce6207a2014">Ne7sshSftpPacket</a>
-<li>verifySig()
-: <a class="el" href="classne7ssh__crypt.html#48631162f8d43e1ee7bbe682a43f0c52">ne7ssh_crypt</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x77.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x77.html
deleted file mode 100644
index 4cd1330ec9a..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x77.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li class="current"><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>wait()
-: <a class="el" href="classne7ssh__transport.html#e61c53b2f743afecec25cfe7fffc3799">ne7ssh_transport</a>
-<li>waitFor()
-: <a class="el" href="classne7ssh.html#cf5fb060ded2fbc2d923e6b925b74bba">ne7ssh</a>
-<li>waitForPacket()
-: <a class="el" href="classne7ssh__transport.html#8d502d0e554e92d9536f8be2f9e07fd0">ne7ssh_transport</a>
-<li>write()
-: <a class="el" href="classne7ssh__channel.html#8154fdfcc75f63d71f6d4ebe29155590">ne7ssh_channel</a>
-<li>writeFile()
-: <a class="el" href="classNe7SftpSubsystem.html#b140ea998359cbcb4ab902a0f1ac0f7d">Ne7SftpSubsystem</a>
-, <a class="el" href="classNe7sshSftp.html#6fd55afdebec6ece8af2d5524dc2e5a0">Ne7sshSftp</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x7e.html b/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x7e.html
deleted file mode 100644
index 6320d9440f7..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_func_0x7e.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Functions</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
-      <li><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
-      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-      <li><a href="functions_func_0x76.html#index_v"><span>v</span></a></li>
-      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-      <li class="current"><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~Ne7SftpSubsystem()
-: <a class="el" href="classNe7SftpSubsystem.html#3b9899662d8b56efce4323b3d5253f08">Ne7SftpSubsystem</a>
-<li>~ne7ssh()
-: <a class="el" href="classne7ssh.html#054d834b63e9b32603a2c93f2d5f2c93">ne7ssh</a>
-<li>~ne7ssh_channel()
-: <a class="el" href="classne7ssh__channel.html#59b4a174d73ee8cbdec676f6cbe69c5b">ne7ssh_channel</a>
-<li>~ne7ssh_connection()
-: <a class="el" href="classne7ssh__connection.html#089e8aa8fbdfded464394ee94334d36c">ne7ssh_connection</a>
-<li>~ne7ssh_crypt()
-: <a class="el" href="classne7ssh__crypt.html#e72d6e5cb5125d4ed58ce06069aa21b2">ne7ssh_crypt</a>
-<li>~ne7ssh_kex()
-: <a class="el" href="classne7ssh__kex.html#29b408432a50b3d193b3f9cd4a952782">ne7ssh_kex</a>
-<li>~ne7ssh_keys()
-: <a class="el" href="classne7ssh__keys.html#dbe80f9c6f7806d5909bb811b4a73cb8">ne7ssh_keys</a>
-<li>~ne7ssh_session()
-: <a class="el" href="classne7ssh__session.html#f1190264bc6469759a9644351610e591">ne7ssh_session</a>
-<li>~ne7ssh_string()
-: <a class="el" href="classne7ssh__string.html#0b8fd6571f6e272c199521d1badecea6">ne7ssh_string</a>
-<li>~ne7ssh_transport()
-: <a class="el" href="classne7ssh__transport.html#c9b896ad9d855fc818b0b5350f47ccf7">ne7ssh_transport</a>
-<li>~Ne7sshError()
-: <a class="el" href="classNe7sshError.html#8b95b91913fab0429704043c215863fa">Ne7sshError</a>
-<li>~Ne7sshSftp()
-: <a class="el" href="classNe7sshSftp.html#1d4bcdec50d428aa32c6c94919502dae">Ne7sshSftp</a>
-<li>~Ne7sshSftpPacket()
-: <a class="el" href="classNe7sshSftpPacket.html#515d160ed0a9b6d25df767cb57fee7ab">Ne7sshSftpPacket</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/functions_vars.html b/src/libs/3rdparty/net7ssh/doc/html/functions_vars.html
deleted file mode 100644
index 6e33fd3f414..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/functions_vars.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Class Members - Variables</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li class="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="functions.html"><span>All</span></a></li>
-      <li><a href="functions_func.html"><span>Functions</span></a></li>
-      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
-      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-&nbsp;
-<p>
-<ul>
-<li>conns
-: <a class="el" href="structconnStruct.html#01d270542f5e0a2dfad63ca1d7caf456">connStruct</a>
-<li>count
-: <a class="el" href="structconnStruct.html#bbe7a947bb4097abe13bc1ba74ecaf9b">connStruct</a>
-<li>ErrorBuffer
-: <a class="el" href="classNe7sshError.html#2fac26f48bbb447ce6edc1d37f8c8157">Ne7sshError</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/graph_legend.dot b/src/libs/3rdparty/net7ssh/doc/html/graph_legend.dot
deleted file mode 100644
index 9a09018a423..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/graph_legend.dot
+++ /dev/null
@@ -1,22 +0,0 @@
-digraph G
-{
-  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
-  node [fontname="FreeSans",fontsize="10",shape=record];
-  Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",fillcolor="grey75",style="filled" fontcolor="black"];
-  Node10 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
-  Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPublicBase.html"];
-  Node11 -> Node10 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
-  Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="red",URL="$classTruncated.html"];
-  Node13 -> Node9 [dir=back,color="darkgreen",fontsize="10",style="solid",fontname="FreeSans"];
-  Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classProtectedBase.html"];
-  Node14 -> Node9 [dir=back,color="firebrick4",fontsize="10",style="solid",fontname="FreeSans"];
-  Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classPrivateBase.html"];
-  Node15 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
-  Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="grey75"];
-  Node16 -> Node9 [dir=back,color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
-  Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
-  Node17 -> Node16 [dir=back,color="orange",fontsize="10",style="dashed",label="< int >",fontname="FreeSans"];
-  Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classTempl.html"];
-  Node18 -> Node9 [dir=back,color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="FreeSans"];
-  Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="FreeSans",color="black",URL="$classUsed.html"];
-}
diff --git a/src/libs/3rdparty/net7ssh/doc/html/graph_legend.html b/src/libs/3rdparty/net7ssh/doc/html/graph_legend.html
deleted file mode 100644
index d64d84e84f7..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/graph_legend.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Graph Legend</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
-Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
-<span class="keyword">class </span>Invisible { };
-<span class="comment"></span>
-<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
-<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
-
-<span class="comment">/* Class not documented with doxygen comments */</span>
-<span class="keyword">class </span>Undocumented { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using public inheritance */</span>
-<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
-<span class="comment"></span>
-<span class="comment">/*! A template class */</span>
-<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using protected inheritance */</span>
-<span class="keyword">class </span>ProtectedBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using private inheritance */</span>
-<span class="keyword">class </span>PrivateBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is used by the Inherited class */</span>
-<span class="keyword">class </span>Used { };
-<span class="comment"></span>
-<span class="comment">/*! Super class that inherits a number of other classes */</span>
-<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
-                  <span class="keyword">protected</span> ProtectedBase,
-                  <span class="keyword">private</span> PrivateBase,
-                  <span class="keyword">public</span> Undocumented,
-                  <span class="keyword">public</span> Templ&lt;int&gt;
-{
-  <span class="keyword">private</span>:
-    Used *m_usedClass;
-};
-</pre></div> This will result in the following graph:<p>
-<center><div align="center">
-<img src="graph_legend.png" alt="graph_legend.png">
-</div>
-</center> <p>
-The boxes in the above graph have the following meaning: <ul>
-<li>
-A filled gray box represents the struct or class for which the graph is generated. </li>
-<li>
-A box with a black border denotes a documented struct or class. </li>
-<li>
-A box with a grey border denotes an undocumented struct or class. </li>
-<li>
-A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
-</ul>
-The arrows have the following meaning: <ul>
-<li>
-A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
-<li>
-A dark green arrow is used for protected inheritance. </li>
-<li>
-A dark red arrow is used for private inheritance. </li>
-<li>
-A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
-<li>
-A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/hierarchy.html b/src/libs/3rdparty/net7ssh/doc/html/hierarchy.html
deleted file mode 100644
index 4ec6552d01b..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/hierarchy.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Hierarchical Index</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Class Hierarchy</h1><a href="inherits.html">Go to the graphical class hierarchy</a>
-<p>
-This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="structconnStruct.html">connStruct</a>
-<li><a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a>
-<li><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>
-<li><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>
-<li><a class="el" href="classne7ssh.html">ne7ssh</a>
-<li><a class="el" href="classne7ssh__channel.html">ne7ssh_channel</a>
-<ul>
-<li><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>
-</ul>
-<li><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>
-<li><a class="el" href="classne7ssh__crypt.html">ne7ssh_crypt</a>
-<li><a class="el" href="classne7ssh__kex.html">ne7ssh_kex</a>
-<li><a class="el" href="classne7ssh__keys.html">ne7ssh_keys</a>
-<li><a class="el" href="classne7ssh__session.html">ne7ssh_session</a>
-<li><a class="el" href="classne7ssh__string.html">ne7ssh_string</a>
-<ul>
-<li><a class="el" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a>
-</ul>
-<li><a class="el" href="classne7ssh__transport.html">ne7ssh_transport</a>
-<li><a class="el" href="classNe7sshError.html">Ne7sshError</a>
-<li><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a>
-<li><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>
-</ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/index.html b/src/libs/3rdparty/net7ssh/doc/html/index.html
deleted file mode 100644
index 82c22ca9f62..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Main Page</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh.kdevelop Documentation</h1>
-<p>
-<h3 align="center">1.3.1 </h3></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.map
deleted file mode 100644
index 3009aad4f2f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$structconnStruct.html" title="connStruct" alt="" coords="7,5,97,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.md5
deleted file mode 100644
index 13b09c8fef9..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__0.md5
+++ /dev/null
@@ -1 +0,0 @@
-32272a437d808ca54d1aa16d1fdcf2eb
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.map
deleted file mode 100644
index c42e0733bf4..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classNe7SftpSubsystem.html" title="Ne7SftpSubsystem" alt="" coords="7,5,151,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.md5
deleted file mode 100644
index 5624ec9074f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__1.md5
+++ /dev/null
@@ -1 +0,0 @@
-f86864cff4e18963b72fbace1c5228c2
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.map
deleted file mode 100644
index 10a671a8c85..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="7,5,116,32">
-<area shape="rect" href="$classNe7sshSftpPacket.html" title="Ne7sshSftpPacket" alt="" coords="165,5,304,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.md5
deleted file mode 100644
index 069830d3364..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__10.md5
+++ /dev/null
@@ -1 +0,0 @@
-08221d327d3eba0b917aace18b9b8cc1
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.map
deleted file mode 100644
index 356017e409e..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="5,5,139,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.md5
deleted file mode 100644
index 461f240a934..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__11.md5
+++ /dev/null
@@ -1 +0,0 @@
-198aa1e42d164855c29f7e3b8f0e32c8
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.map
deleted file mode 100644
index b7f1bc27b3f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classNe7sshError.html" title="Ne7sshError" alt="" coords="7,5,105,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.md5
deleted file mode 100644
index 5630abcd40a..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__12.md5
+++ /dev/null
@@ -1 +0,0 @@
-ff94628ec786c1149c0474d9992fbafa
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.map
deleted file mode 100644
index 9838396ca7a..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$structNe7sshError_1_1Error.html" title="Ne7sshError::Error" alt="" coords="7,5,145,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.md5
deleted file mode 100644
index a7b91b54653..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__13.md5
+++ /dev/null
@@ -1 +0,0 @@
-e205f807b675488e62401f919f733ac4
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.map
deleted file mode 100644
index 40a31429987..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="7,5,153,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.md5
deleted file mode 100644
index 3be6621b6be..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__14.md5
+++ /dev/null
@@ -1 +0,0 @@
-4bcff168797e6c21ba1eede52dba50b9
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.map
deleted file mode 100644
index 6e989154fe4..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="7,5,185,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.md5
deleted file mode 100644
index 99eb483df07..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__15.md5
+++ /dev/null
@@ -1 +0,0 @@
-46e6503b52f860bd459c69e721707e2e
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.map
deleted file mode 100644
index b8206e21457..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$structNe7SftpSubsystem_1_1fileAttrs.html" title="Ne7SftpSubsystem::fileAttrs" alt="" coords="5,5,208,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.md5
deleted file mode 100644
index f3de628eb24..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__2.md5
+++ /dev/null
@@ -1 +0,0 @@
-d5b5d6ab3ef640c569f85650ea9f8480
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.map
deleted file mode 100644
index 3f55ba7def7..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh.html" title="ne7ssh" alt="" coords="7,5,73,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.md5
deleted file mode 100644
index e8569efaf4f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__3.md5
+++ /dev/null
@@ -1 +0,0 @@
-7ee0313d1503b3cf75d48b435961182d
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.map
deleted file mode 100644
index 78fc1253bae..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.map
+++ /dev/null
@@ -1,2 +0,0 @@
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="7,5,129,32">
-<area shape="rect" href="$classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="179,5,275,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.md5
deleted file mode 100644
index ddc4477d615..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__4.md5
+++ /dev/null
@@ -1 +0,0 @@
-78da7c9248f34e1119fb20cd3e56033d
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.map
deleted file mode 100644
index deb643e1bb6..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__connection.html" title="ne7ssh_connection" alt="" coords="5,5,149,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.md5
deleted file mode 100644
index 92cc25bce0c..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__5.md5
+++ /dev/null
@@ -1 +0,0 @@
-64416016196c678d33fadc16862bfd57
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.map
deleted file mode 100644
index e87f24acb08..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="5,5,112,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.md5
deleted file mode 100644
index 4303f149612..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__6.md5
+++ /dev/null
@@ -1 +0,0 @@
-a2a52726162489889e63cafffb233f06
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.map
deleted file mode 100644
index 2dd4869225f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__kex.html" title="ne7ssh_kex" alt="" coords="5,5,101,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.md5
deleted file mode 100644
index ee9cae3c5c6..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__7.md5
+++ /dev/null
@@ -1 +0,0 @@
-4d1c9d846e00a922cc47fd379b350562
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.map
deleted file mode 100644
index 26da6c643c8..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__keys.html" title="ne7ssh_keys" alt="" coords="5,5,109,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.md5
deleted file mode 100644
index dc4a68efc75..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__8.md5
+++ /dev/null
@@ -1 +0,0 @@
-ed97562dd0a16449e3f78567ede9cb34
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.map b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.map
deleted file mode 100644
index b93da65e751..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.map
+++ /dev/null
@@ -1 +0,0 @@
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="5,5,128,32">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.md5 b/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.md5
deleted file mode 100644
index 4bb114bf879..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherit__graph__9.md5
+++ /dev/null
@@ -1 +0,0 @@
-1a000d5ea63c4b0adb98721e2737f886
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/inherits.html b/src/libs/3rdparty/net7ssh/doc/html/inherits.html
deleted file mode 100644
index 25cacc052ef..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/inherits.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Graphical Class Hierarchy</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li class="current"><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Graphical Class Hierarchy</h1><a href="hierarchy.html">Go to the textual class hierarchy</a>
-<p>
-<table border="0" cellspacing="10" cellpadding="0">
-<tr><td><img src="inherit__graph__0.png" border="0" alt="" usemap="#connStruct_map">
-<map name="connStruct_map">
-<area shape="rect" href="structconnStruct.html" title="connStruct" alt="" coords="7,5,97,32"></map></td></tr>
-<tr><td><img src="inherit__graph__1.png" border="0" alt="" usemap="#Ne7SftpSubsystem_map">
-<map name="Ne7SftpSubsystem_map">
-<area shape="rect" href="classNe7SftpSubsystem.html" title="Ne7SftpSubsystem" alt="" coords="7,5,151,32"></map></td></tr>
-<tr><td><img src="inherit__graph__2.png" border="0" alt="" usemap="#Ne7SftpSubsystem_1_1fileAttrs_map">
-<map name="Ne7SftpSubsystem_1_1fileAttrs_map">
-<area shape="rect" href="structNe7SftpSubsystem_1_1fileAttrs.html" title="Ne7SftpSubsystem::fileAttrs" alt="" coords="5,5,208,32"></map></td></tr>
-<tr><td><img src="inherit__graph__3.png" border="0" alt="" usemap="#ne7ssh_map">
-<map name="ne7ssh_map">
-<area shape="rect" href="classne7ssh.html" title="ne7ssh" alt="" coords="7,5,73,32"></map></td></tr>
-<tr><td><img src="inherit__graph__4.png" border="0" alt="" usemap="#ne7ssh__channel_map">
-<map name="ne7ssh__channel_map">
-<area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="7,5,129,32"><area shape="rect" href="classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="179,5,275,32"></map></td></tr>
-<tr><td><img src="inherit__graph__5.png" border="0" alt="" usemap="#ne7ssh__connection_map">
-<map name="ne7ssh__connection_map">
-<area shape="rect" href="classne7ssh__connection.html" title="ne7ssh_connection" alt="" coords="5,5,149,32"></map></td></tr>
-<tr><td><img src="inherit__graph__6.png" border="0" alt="" usemap="#ne7ssh__crypt_map">
-<map name="ne7ssh__crypt_map">
-<area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="5,5,112,32"></map></td></tr>
-<tr><td><img src="inherit__graph__7.png" border="0" alt="" usemap="#ne7ssh__kex_map">
-<map name="ne7ssh__kex_map">
-<area shape="rect" href="classne7ssh__kex.html" title="ne7ssh_kex" alt="" coords="5,5,101,32"></map></td></tr>
-<tr><td><img src="inherit__graph__8.png" border="0" alt="" usemap="#ne7ssh__keys_map">
-<map name="ne7ssh__keys_map">
-<area shape="rect" href="classne7ssh__keys.html" title="ne7ssh_keys" alt="" coords="5,5,109,32"></map></td></tr>
-<tr><td><img src="inherit__graph__9.png" border="0" alt="" usemap="#ne7ssh__session_map">
-<map name="ne7ssh__session_map">
-<area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="5,5,128,32"></map></td></tr>
-<tr><td><img src="inherit__graph__10.png" border="0" alt="" usemap="#ne7ssh__string_map">
-<map name="ne7ssh__string_map">
-<area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="7,5,116,32"><area shape="rect" href="classNe7sshSftpPacket.html" title="Ne7sshSftpPacket" alt="" coords="165,5,304,32"></map></td></tr>
-<tr><td><img src="inherit__graph__11.png" border="0" alt="" usemap="#ne7ssh__transport_map">
-<map name="ne7ssh__transport_map">
-<area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="5,5,139,32"></map></td></tr>
-<tr><td><img src="inherit__graph__12.png" border="0" alt="" usemap="#Ne7sshError_map">
-<map name="Ne7sshError_map">
-<area shape="rect" href="classNe7sshError.html" title="Ne7sshError" alt="" coords="7,5,105,32"></map></td></tr>
-<tr><td><img src="inherit__graph__13.png" border="0" alt="" usemap="#Ne7sshError_1_1Error_map">
-<map name="Ne7sshError_1_1Error_map">
-<area shape="rect" href="structNe7sshError_1_1Error.html" title="Ne7sshError::Error" alt="" coords="7,5,145,32"></map></td></tr>
-<tr><td><img src="inherit__graph__14.png" border="0" alt="" usemap="#Ne7sshSftp_1_1sftpFile_map">
-<map name="Ne7sshSftp_1_1sftpFile_map">
-<area shape="rect" href="structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="7,5,153,32"></map></td></tr>
-<tr><td><img src="inherit__graph__15.png" border="0" alt="" usemap="#Ne7sshSftp_1_1sftpFileAttrs_map">
-<map name="Ne7sshSftp_1_1sftpFileAttrs_map">
-<area shape="rect" href="structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="7,5,185,32"></map></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/namespaceBotan.html b/src/libs/3rdparty/net7ssh/doc/html/namespaceBotan.html
deleted file mode 100644
index 06ed3780a90..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/namespaceBotan.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Botan Namespace Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Botan Namespace Reference</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-definitions for <a class="el" href="namespaceBotan.html">Botan</a> 
-<p>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/namespaces.html b/src/libs/3rdparty/net7ssh/doc/html/namespaces.html
deleted file mode 100644
index 38675124f64..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/namespaces.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Namespace Index</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li class="current"><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
-  <tr><td class="indexkey"><a class="el" href="namespaceBotan.html">Botan</a></td><td class="indexvalue"></td></tr>
-</table>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:46 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh_8h_source.html
deleted file mode 100644
index c2d21f74683..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh_8h_source.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;botan/build.h&gt;</span>
-<a name="l00021"></a>00021 
-<a name="l00022"></a>00022 <span class="comment">//#include &lt;botan/zlib.h&gt;</span>
-<a name="l00023"></a>00023 <span class="comment">//#include "error.h"</span>
-<a name="l00024"></a>00024 
-<a name="l00025"></a>00025 <span class="preprocessor">#if BOTAN_VERSION_MAJOR &gt; 1</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#   error Unsupported Botan Version</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#define BOTAN_PRE_15 (BOTAN_VERSION_MINOR &lt; 5)</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define BOTAN_PRE_18 (BOTAN_VERSION_MINOR &lt; 8)</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span>
-<a name="l00032"></a>00032 <span class="preprocessor">#if !BOTAN_PRE_18 &amp;&amp; !BOTAN_PRE_15</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor"># include &lt;botan/auto_rng.h&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#endif</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;fcntl.h&gt;</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#if !defined(WIN32) &amp;&amp; !defined(__MINGW32__)</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;pthread.h&gt;</span>
-<a name="l00041"></a>00041 <span class="preprocessor">#   include &lt;sys/select.h&gt;</span>
-<a name="l00042"></a>00042 <span class="preprocessor">#   include &lt;unistd.h&gt;</span>
-<a name="l00043"></a>00043 <span class="keyword">typedef</span> pthread_t ne7ssh_thread_t;
-<a name="l00044"></a>00044 <span class="preprocessor">#else</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#include &lt;windows.h&gt;</span>
-<a name="l00046"></a>00046 <span class="keyword">typedef</span> HANDLE ne7ssh_thread_t;
-<a name="l00047"></a>00047 <span class="preprocessor">#endif</span>
-<a name="l00048"></a>00048 <span class="preprocessor"></span>
-<a name="l00049"></a>00049 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00050"></a>00050 <span class="preprocessor">#include "ne7ssh_error.h"</span>
-<a name="l00051"></a>00051 <span class="preprocessor">#include "ne7ssh_mutex.h"</span>
-<a name="l00052"></a>00052 
-<a name="l00053"></a>00053 <span class="preprocessor">#define SSH2_MSG_DISCONNECT 1</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_IGNORE 2</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span>
-<a name="l00056"></a>00056 <span class="preprocessor">#define SSH2_MSG_KEXINIT  20</span>
-<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_NEWKEYS  21</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span>
-<a name="l00059"></a>00059 <span class="preprocessor">#define SSH2_MSG_KEXDH_INIT 30</span>
-<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_KEXDH_REPLY  31</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span>
-<a name="l00062"></a>00062 <span class="preprocessor">#define SSH2_MSG_SERVICE_REQUEST 5</span>
-<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_SERVICE_ACCEPT 6</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span>
-<a name="l00065"></a>00065 <span class="preprocessor">#define SSH2_MSG_USERAUTH_REQUEST 50</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_USERAUTH_FAILURE 51</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_USERAUTH_SUCCESS 52</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_USERAUTH_BANNER 53</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_USERAUTH_PK_OK 60</span>
-<a name="l00070"></a>00070 <span class="preprocessor"></span>
-<a name="l00071"></a>00071 <span class="preprocessor">#define SSH2_MSG_CHANNEL_OPEN                           90</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_OPEN_CONFIRMATION              91</span>
-<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_OPEN_FAILURE                   92</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_WINDOW_ADJUST                  93</span>
-<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_DATA                           94</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_EXTENDED_DATA                  95</span>
-<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_EOF                            96</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_CLOSE                          97</span>
-<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_REQUEST                        98</span>
-<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_SUCCESS                        99</span>
-<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_MSG_CHANNEL_FAILURE                        100</span>
-<a name="l00082"></a>00082 <span class="preprocessor"></span>
-<a name="l00083"></a>00083 <span class="keyword">class </span><a class="code" href="classne7ssh__connection.html">ne7ssh_connection</a>;
-<a name="l00084"></a>00084 
-<a name="l00086"></a><a class="code" href="structconnStruct.html">00086</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
-<a name="l00088"></a><a class="code" href="structconnStruct.html#01d270542f5e0a2dfad63ca1d7caf456">00088</a>   <a class="code" href="classne7ssh__connection.html">ne7ssh_connection</a> **conns;
-<a name="l00090"></a><a class="code" href="structconnStruct.html#bbe7a947bb4097abe13bc1ba74ecaf9b">00090</a>   uint32 count;
-<a name="l00091"></a>00091 } <a class="code" href="structconnStruct.html">connStruct</a>;
-<a name="l00092"></a>00092 
-<a name="l00094"></a><a class="code" href="namespaceBotan.html">00094</a> <span class="keyword">namespace </span>Botan
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096     <span class="keyword">class </span>LibraryInitializer;
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098 
-<a name="l00099"></a>00099 <span class="keyword">class </span><a class="code" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>;
-<a name="l00100"></a>00100 
-<a name="l00104"></a><a class="code" href="classne7ssh.html">00104</a> <span class="keyword">class </span>SSH_EXPORT <a class="code" href="classne7ssh.html">ne7ssh</a>
-<a name="l00105"></a>00105 {
-<a name="l00106"></a>00106   <span class="keyword">private</span>:
-<a name="l00107"></a>00107 
-<a name="l00108"></a>00108     <span class="keyword">static</span> Ne7ssh_Mutex mut;
-<a name="l00109"></a>00109     Botan::LibraryInitializer *init;
-<a name="l00110"></a>00110     <a class="code" href="classne7ssh__connection.html">ne7ssh_connection</a> **connections;
-<a name="l00111"></a>00111     uint32 conCount;
-<a name="l00112"></a>00112     <span class="keyword">static</span> <span class="keywordtype">bool</span> running;
-<a name="l00113"></a>00113     <span class="keyword">static</span> <span class="keywordtype">bool</span> selectActive;
-<a name="l00114"></a>00114     <a class="code" href="structconnStruct.html">connStruct</a> allConns;
-<a name="l00115"></a>00115 
-<a name="l00116"></a>00116 
-<a name="l00122"></a>00122     <span class="keyword">static</span> <span class="keywordtype">void</span> *selectThread (<span class="keywordtype">void</span>*);
-<a name="l00123"></a>00123 
-<a name="l00128"></a>00128     uint32 getChannelNo ();
-<a name="l00129"></a>00129     ne7ssh_thread_t select_thread;
-<a name="l00130"></a>00130     <span class="keywordtype">bool</span> connected;
-<a name="l00131"></a>00131 
-<a name="l00136"></a>00136     <span class="keyword">static</span> <span class="keywordtype">bool</span> lock ();
-<a name="l00137"></a>00137 
-<a name="l00142"></a>00142     <span class="keyword">static</span> <span class="keywordtype">bool</span> unlock ();
-<a name="l00143"></a>00143     <span class="keyword">static</span> <a class="code" href="classNe7sshError.html">Ne7sshError</a>* errs;
-<a name="l00144"></a>00144 
-<a name="l00145"></a>00145   <span class="keyword">public</span>:
-<a name="l00146"></a>00146 <span class="preprocessor">#if !BOTAN_PRE_18 &amp;&amp; !BOTAN_PRE_15</span>
-<a name="l00147"></a>00147 <span class="preprocessor"></span>    <span class="keyword">static</span> Botan::AutoSeeded_RNG *rng;
-<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
-<a name="l00149"></a>00149 <span class="preprocessor"></span>    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* SSH_VERSION;
-<a name="l00150"></a>00150     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* KEX_ALGORITHMS;
-<a name="l00151"></a>00151     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* HOSTKEY_ALGORITHMS;
-<a name="l00152"></a>00152     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* MAC_ALGORITHMS;
-<a name="l00153"></a>00153     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* CIPHER_ALGORITHMS;
-<a name="l00154"></a>00154     <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* COMPRESSION_ALGORITHMS;
-<a name="l00155"></a>00155     <span class="keyword">static</span> <span class="keywordtype">char</span>* PREFERED_CIPHER;
-<a name="l00156"></a>00156     <span class="keyword">static</span> <span class="keywordtype">char</span>* PREFERED_MAC;
-<a name="l00157"></a>00157 
-<a name="l00161"></a>00161     <a class="code" href="classne7ssh.html">ne7ssh</a>();
-<a name="l00165"></a>00165     ~<a class="code" href="classne7ssh.html">ne7ssh</a>();
-<a name="l00166"></a>00166 
-<a name="l00177"></a>00177     <span class="keywordtype">int</span> connectWithPassword (<span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keyword">const</span> <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* password, <span class="keywordtype">bool</span> shell = <span class="keyword">true</span>, <span class="keyword">const</span> <span class="keywordtype">int</span> timeout = 0);
-<a name="l00178"></a>00178 
-<a name="l00191"></a>00191     <span class="keywordtype">int</span> connectWithKey (<span class="keyword">const</span> <span class="keywordtype">char</span>* host, <span class="keyword">const</span> <span class="keywordtype">int</span> port, <span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName, <span class="keywordtype">bool</span> shell = <span class="keyword">true</span>, <span class="keyword">const</span> <span class="keywordtype">int</span> timeout = 0);
-<a name="l00192"></a>00192 
-<a name="l00198"></a>00198 <span class="comment">//    ne7ssh_connection** getConnections () { return connections; }</span>
-<a name="l00199"></a>00199 
-<a name="l00200"></a><a class="code" href="classne7ssh.html#d772b5b0a9abfb7948fee9c6059ca1b7">00200</a>     <a class="code" href="structconnStruct.html">connStruct</a>* <a class="code" href="classne7ssh.html#d772b5b0a9abfb7948fee9c6059ca1b7">getConnetions</a> () { <span class="keywordflow">return</span> &amp;allConns; }
-<a name="l00201"></a>00201 
-<a name="l00207"></a>00207 <span class="comment">//    uint32 getConCount () { return conCount; }</span>
-<a name="l00208"></a>00208 
-<a name="l00215"></a>00215     <span class="keywordtype">bool</span> send (<span class="keyword">const</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">int</span> channel);
-<a name="l00216"></a>00216 
-<a name="l00224"></a>00224     <span class="keywordtype">bool</span> sendCmd (<span class="keyword">const</span> <span class="keywordtype">char</span>* cmd, <span class="keywordtype">int</span> channel, <span class="keywordtype">int</span> timeout);
-<a name="l00225"></a>00225 
-<a name="l00231"></a>00231     <span class="keywordtype">bool</span> close (<span class="keywordtype">int</span> channel);
-<a name="l00232"></a>00232 
-<a name="l00238"></a><a class="code" href="classne7ssh.html#df55894efd2972b10cc39bbc2a3c55be">00238</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh.html#df55894efd2972b10cc39bbc2a3c55be">setCount</a> (uint32 count) { conCount = count; }
-<a name="l00239"></a>00239 
-<a name="l00245"></a>00245     <span class="keyword">const</span> <span class="keywordtype">char</span>* read (<span class="keywordtype">int</span> channel, <span class="keywordtype">bool</span> do_lock=<span class="keyword">true</span>);
-<a name="l00246"></a>00246 
-<a name="l00252"></a>00252     <span class="keywordtype">void</span>* readBinary (<span class="keywordtype">int</span> channel);
-<a name="l00253"></a>00253 
-<a name="l00259"></a>00259     <span class="keywordtype">int</span> getReceivedSize (<span class="keywordtype">int</span> channel, <span class="keywordtype">bool</span> do_lock=<span class="keyword">true</span>);
-<a name="l00260"></a>00260 
-<a name="l00268"></a>00268     <span class="keywordtype">bool</span> waitFor (<span class="keywordtype">int</span> channel, <span class="keyword">const</span> <span class="keywordtype">char</span>* str, uint32 timeout=0);
-<a name="l00269"></a>00269 
-<a name="l00276"></a>00276     <span class="keywordtype">void</span> setOptions (<span class="keyword">const</span> <span class="keywordtype">char</span>* prefCipher, <span class="keyword">const</span> <span class="keywordtype">char</span>* prefHmac);
-<a name="l00277"></a>00277 
-<a name="l00278"></a>00278 
-<a name="l00288"></a>00288     <span class="keywordtype">bool</span> generateKeyPair (<span class="keyword">const</span> <span class="keywordtype">char</span>* type, <span class="keyword">const</span> <span class="keywordtype">char</span>* fqdn, <span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName, <span class="keyword">const</span> <span class="keywordtype">char</span>* pubKeyFileName, uint16 keySize = 0);
-<a name="l00289"></a>00289 
-<a name="l00296"></a>00296     <span class="keywordtype">bool</span> initSftp (<a class="code" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>&amp; _sftp, <span class="keywordtype">int</span> channel);
-<a name="l00297"></a>00297 
-<a name="l00302"></a>00302     <span class="keyword">static</span> <a class="code" href="classNe7sshError.html">Ne7sshError</a>* errors();
-<a name="l00303"></a>00303 
-<a name="l00304"></a>00304     <span class="keyword">static</span> <span class="keywordtype">bool</span> isSelectActive() { <span class="keywordflow">return</span> selectActive; }
-<a name="l00305"></a>00305     <span class="keyword">static</span> <span class="keywordtype">void</span> selectDead() { selectActive = <span class="keyword">false</span>; }
-<a name="l00306"></a>00306 };
-<a name="l00307"></a>00307 
-<a name="l00308"></a>00308 <span class="keyword">class </span><a class="code" href="classNe7sshSftp.html">Ne7sshSftp</a>;
-<a name="l00309"></a>00309 
-<a name="l00313"></a><a class="code" href="classNe7SftpSubsystem.html">00313</a> <span class="keyword">class </span>SSH_EXPORT <a class="code" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>
-<a name="l00314"></a>00314 {
-<a name="l00315"></a>00315   <span class="keyword">private</span>:
-<a name="l00316"></a>00316     <span class="keywordtype">bool</span> inited;
-<a name="l00317"></a>00317     <a class="code" href="classNe7sshSftp.html">Ne7sshSftp</a>* sftp;
-<a name="l00318"></a>00318 
-<a name="l00323"></a>00323 <span class="keywordtype">bool</span> errorNotInited ();
-<a name="l00324"></a>00324 
-<a name="l00325"></a>00325   <span class="keyword">public</span>:
-<a name="l00327"></a><a class="code" href="structNe7SftpSubsystem_1_1fileAttrs.html">00327</a>     <span class="keyword">typedef</span> <span class="keyword">struct</span>
-<a name="l00328"></a>00328     {
-<a name="l00329"></a>00329       uint64_t  size;
-<a name="l00330"></a>00330       uint32_t  owner;
-<a name="l00331"></a>00331       uint32_t  group;
-<a name="l00332"></a>00332       uint32_t  permissions;
-<a name="l00333"></a>00333       uint32_t  atime;
-<a name="l00334"></a>00334       uint32_t  mtime;
-<a name="l00335"></a>00335     } <a class="code" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a>;
-<a name="l00336"></a>00336 
-<a name="l00338"></a><a class="code" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">00338</a>     <span class="keyword">enum</span> <a class="code" href="classNe7SftpSubsystem.html#76285cf453a5b363a9cf79d071c44ada">writeMode</a> { READ, OVERWRITE, APPEND };
-<a name="l00339"></a>00339 
-<a name="l00343"></a>00343     <a class="code" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a> ();
-<a name="l00344"></a>00344 
-<a name="l00349"></a>00349     <a class="code" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a> (<span class="keyword">class</span> <a class="code" href="classNe7sshSftp.html">Ne7sshSftp</a>* _sftp);
-<a name="l00350"></a>00350 
-<a name="l00354"></a>00354     ~<a class="code" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>();
-<a name="l00355"></a>00355 
-<a name="l00361"></a>00361     <span class="keywordtype">bool</span> setTimeout (uint32 _timeout);
-<a name="l00362"></a>00362 
-<a name="l00369"></a>00369     uint32 openFile (<span class="keyword">const</span> <span class="keywordtype">char</span>* filename, uint8 mode);
-<a name="l00370"></a>00370 
-<a name="l00376"></a>00376     uint32 openDir (<span class="keyword">const</span> <span class="keywordtype">char</span>* dirname);
-<a name="l00377"></a>00377 
-<a name="l00384"></a>00384     <span class="keywordtype">bool</span> readFile (uint32 fileID, uint64 offset = 0);
-<a name="l00385"></a>00385 
-<a name="l00394"></a>00394     <span class="keywordtype">bool</span> writeFile (uint32 fileID, <span class="keyword">const</span> uint8* data, uint32 len, uint64 offset = 0);
-<a name="l00395"></a>00395 
-<a name="l00401"></a>00401     <span class="keywordtype">bool</span> closeFile (uint32 fileID);
-<a name="l00402"></a>00402 
-<a name="l00410"></a>00410     <span class="keywordtype">bool</span> getFileAttrs (fileAttrs&amp; attrs, <span class="keyword">const</span> <span class="keywordtype">char</span>* filename, <span class="keywordtype">bool</span> followSymLinks = <span class="keyword">true</span>);
-<a name="l00411"></a>00411 
-<a name="l00412"></a>00412 
-<a name="l00419"></a>00419     <span class="keywordtype">bool</span> <span class="keyword">get</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, FILE* localFile);
-<a name="l00420"></a>00420 
-<a name="l00427"></a>00427     <span class="keywordtype">bool</span> put (FILE* localFile, <span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00428"></a>00428 
-<a name="l00434"></a>00434     <span class="keywordtype">bool</span> rm (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00435"></a>00435 
-<a name="l00442"></a>00442     <span class="keywordtype">bool</span> mv (<span class="keyword">const</span> <span class="keywordtype">char</span>* oldFile, <span class="keyword">const</span> <span class="keywordtype">char</span>* newFile);
-<a name="l00443"></a>00443 
-<a name="l00449"></a>00449     <span class="keywordtype">bool</span> mkdir (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir);
-<a name="l00450"></a>00450 
-<a name="l00456"></a>00456     <span class="keywordtype">bool</span> rmdir (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir);
-<a name="l00457"></a>00457 
-<a name="l00464"></a>00464     <span class="keyword">const</span> <span class="keywordtype">char</span>* ls (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir, <span class="keywordtype">bool</span> longNames=<span class="keyword">false</span>);
-<a name="l00465"></a>00465 
-<a name="l00471"></a>00471     <span class="keywordtype">bool</span> cd (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir);
-<a name="l00472"></a>00472 
-<a name="l00479"></a>00479     <span class="keywordtype">bool</span> chmod (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, <span class="keyword">const</span> <span class="keywordtype">char</span>* mode);
-<a name="l00480"></a>00480 
-<a name="l00488"></a>00488     <span class="keywordtype">bool</span> chown (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, uint32_t uid, uint32_t gid = 0);
-<a name="l00489"></a>00489 
-<a name="l00495"></a>00495     <span class="keywordtype">bool</span> isFile (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00496"></a>00496 
-<a name="l00502"></a>00502     <span class="keywordtype">bool</span> isDir (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00503"></a>00503 };
-<a name="l00504"></a>00504 
-<a name="l00505"></a>00505 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__channel_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__channel_8h_source.html
deleted file mode 100644
index d10fd791297..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__channel_8h_source.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_channel.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_channel.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_CHANNEL_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_CHANNEL_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00022"></a>00022 
-<a name="l00023"></a>00023 <span class="keyword">class </span><a class="code" href="classne7ssh__session.html">ne7ssh_session</a>;
-<a name="l00024"></a>00024 
-<a name="l00028"></a><a class="code" href="classne7ssh__channel.html">00028</a> <span class="keyword">class </span><a class="code" href="classne7ssh__channel.html">ne7ssh_channel</a>
-<a name="l00029"></a>00029 {
-<a name="l00030"></a>00030   <span class="keyword">private</span>:
-<a name="l00031"></a>00031     <span class="keywordtype">bool</span> eof, closed;
-<a name="l00032"></a>00032     <span class="keywordtype">bool</span> cmdComplete;
-<a name="l00033"></a>00033     <span class="keywordtype">bool</span> shellSpawned;
-<a name="l00034"></a>00034 
-<a name="l00035"></a>00035 <span class="comment">//    static uint32 channelCount;</span>
-<a name="l00036"></a>00036     <a class="code" href="classne7ssh__session.html">ne7ssh_session</a> *session;
-<a name="l00037"></a>00037     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> inBuffer;
-<a name="l00038"></a>00038     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> outBuffer;
-<a name="l00039"></a>00039     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> delayedBuffer;
-<a name="l00040"></a>00040 
-<a name="l00046"></a>00046     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#ec28c7ca08840c27ef98650acb520a35">handleChannelConfirm</a> ();
-<a name="l00047"></a>00047 
-<a name="l00054"></a>00054     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#bc8252b3f45175c8178d495f11c748a0">adjustWindow</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00055"></a>00055 
-<a name="l00062"></a>00062     <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#5752552709e47b3693b393be19f69139">handleData</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00063"></a>00063 
-<a name="l00069"></a>00069     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#fa9835e80a26e96ae733de123713e1db">handleExtendedData</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00070"></a>00070 
-<a name="l00076"></a>00076     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#468c9ba36282ab97e535c9285fd00b79">handleEof</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00077"></a>00077 
-<a name="l00083"></a>00083     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#1fbc5d7d3f5f986a1a8921aecf5aaa2e">handleClose</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00084"></a>00084 
-<a name="l00090"></a>00090     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#195ca3cdebd29ea9285762bfc777eb64">handleRequest</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00091"></a>00091 
-<a name="l00097"></a>00097     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#9145226f1b6b0d2e3c20154da81d0bac">handleDisconnect</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00098"></a>00098 
-<a name="l00099"></a>00099   <span class="keyword">protected</span>:
-<a name="l00100"></a>00100     uint32 windowRecv, windowSend;
-<a name="l00101"></a>00101 
-<a name="l00102"></a>00102     <span class="keywordtype">bool</span> channelOpened;
-<a name="l00103"></a>00103 
-<a name="l00107"></a>00107     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#959a7e3dc6162e4a7c3a30470728b835">sendAdjustWindow</a> ();
-<a name="l00108"></a>00108 
-<a name="l00109"></a>00109   <span class="keyword">public</span>:
-<a name="l00114"></a>00114     <a class="code" href="classne7ssh__channel.html#2ca4770827c460ade71f4f64e14c78d9">ne7ssh_channel</a>(<a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* _session);
-<a name="l00115"></a>00115 
-<a name="l00119"></a>00119     <span class="keyword">virtual</span> <a class="code" href="classne7ssh__channel.html#59b4a174d73ee8cbdec676f6cbe69c5b">~ne7ssh_channel</a>();
-<a name="l00120"></a>00120 
-<a name="l00126"></a>00126     uint32 <a class="code" href="classne7ssh__channel.html#d744609a8a3ee9c204eabfb87343808d">open</a> (uint32 channelID);
-<a name="l00127"></a>00127 
-<a name="l00131"></a>00131     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#08d6085ea4493092d483819cde904ef5">getShell</a> ();
-<a name="l00132"></a>00132 
-<a name="l00138"></a>00138     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#1037fa89c4b81050b98209cc89e32188">execCmd</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* cmd);
-<a name="l00139"></a>00139 
-<a name="l00143"></a>00143     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#450654cc1a212b348b7ccadd5d83e4df">receive</a> ();
-<a name="l00144"></a>00144 
-<a name="l00150"></a>00150     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#4cfe1bda6308751f6f89612b6ea6e5b8">handleReceived</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; _packet);
-<a name="l00151"></a>00151 
-<a name="l00156"></a>00156     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#8154fdfcc75f63d71f6d4ebe29155590">write</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; data);
-<a name="l00157"></a>00157 
-<a name="l00161"></a>00161     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">sendAll</a> ();
-<a name="l00162"></a>00162 
-<a name="l00167"></a><a class="code" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">00167</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">data2Send</a> () { <span class="keywordflow">if</span> (outBuffer.<a class="code" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">length</a>() || delayedBuffer.<a class="code" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">length</a>()) <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>; }
-<a name="l00168"></a>00168 
-<a name="l00173"></a><a class="code" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">00173</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">isOpen</a> () { <span class="keywordflow">return</span> channelOpened; } 
-<a name="l00174"></a>00174 
-<a name="l00179"></a>00179     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#96400430e7b338389aab85a04ea9921e">sendClose</a> ();
-<a name="l00180"></a>00180 
-<a name="l00185"></a>00185     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#5a4bed6a381e7c2521995015272ebb8b">sendEof</a> ();
-<a name="l00186"></a>00186 
-<a name="l00191"></a><a class="code" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">00191</a>     Botan::SecureVector&lt;Botan::byte&gt;&amp; <a class="code" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">getReceived</a> () { <span class="keywordflow">return</span> inBuffer.<a class="code" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">value</a>(); }
-<a name="l00192"></a>00192 
-<a name="l00197"></a><a class="code" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">00197</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">getCmdComplete</a> () { <span class="keywordflow">return</span> cmdComplete; }
-<a name="l00198"></a>00198 
-<a name="l00203"></a><a class="code" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">00203</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">isRemoteShell</a> () { <span class="keywordflow">return</span> shellSpawned; }
-<a name="l00204"></a>00204 
-<a name="l00210"></a>00210     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__channel.html#a2d5379bfc1884c3f12bd024bdb0ca9a">adjustRecvWindow</a> (<span class="keywordtype">int</span> bufferSize);
-<a name="l00211"></a>00211 
-<a name="l00216"></a><a class="code" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">00216</a>     uint32 <a class="code" href="classne7ssh__channel.html#acafeb21fdfe9bd9a6e805c51635a724">getRecvWindow</a> () { <span class="keywordflow">return</span> windowRecv; }
-<a name="l00217"></a>00217 
-<a name="l00222"></a><a class="code" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">00222</a>     uint32 <a class="code" href="classne7ssh__channel.html#af0b5ad2f382674b621d4b923f688e1f">getSendWindow</a> () { <span class="keywordflow">return</span> windowSend; }
-<a name="l00223"></a>00223 };
-<a name="l00224"></a>00224 
-<a name="l00225"></a>00225 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__connection_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__connection_8h_source.html
deleted file mode 100644
index 09a66035769..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__connection_8h_source.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_connection.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_connection.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_CONNECTION_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_CONNECTION_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "ne7ssh_transport.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_session.h"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "ne7ssh_channel.h"</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include "ne7ssh_keys.h"</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include "crypt.h"</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "ne7ssh_sftp.h"</span>
-<a name="l00028"></a>00028 
-<a name="l00029"></a>00029 
-<a name="l00033"></a><a class="code" href="classne7ssh__connection.html">00033</a> <span class="keyword">class </span><a class="code" href="classne7ssh__connection.html">ne7ssh_connection</a>
-<a name="l00034"></a>00034 {
-<a name="l00035"></a>00035   <span class="keyword">private</span>:
-<a name="l00036"></a>00036     SOCKET sock;
-<a name="l00037"></a>00037     <span class="keywordtype">int</span> thisChannel;
-<a name="l00038"></a>00038     <a class="code" href="classne7ssh__crypt.html">ne7ssh_crypt</a> *crypto;
-<a name="l00039"></a>00039     <a class="code" href="classne7ssh__transport.html">ne7ssh_transport</a> *transport;
-<a name="l00040"></a>00040     <a class="code" href="classne7ssh__session.html">ne7ssh_session</a> *session;
-<a name="l00041"></a>00041     <a class="code" href="classne7ssh__channel.html">ne7ssh_channel</a> *channel;
-<a name="l00042"></a>00042     <a class="code" href="classNe7sshSftp.html">Ne7sshSftp</a>* sftp;
-<a name="l00043"></a>00043 
-<a name="l00044"></a>00044     Ne7ssh_Mutex mut;
-<a name="l00045"></a>00045     <span class="keywordtype">bool</span> connected;
-<a name="l00046"></a>00046     <span class="keywordtype">bool</span> cmdRunning;
-<a name="l00047"></a>00047     <span class="keywordtype">bool</span> cmdClosed;
-<a name="l00048"></a>00048 
-<a name="l00049"></a>00049 
-<a name="l00054"></a>00054     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#bb114ef7885807fef7722080c9be5fa4">checkRemoteVersion</a> ();
-<a name="l00055"></a>00055 
-<a name="l00060"></a>00060     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#9bb5d840002bdf4b8a5f81fdfbee671b">sendLocalVersion</a> ();
-<a name="l00061"></a>00061 
-<a name="l00067"></a>00067     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#fc3d154a577c422670c43dfa4c38fd0c">requestService</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* service);
-<a name="l00068"></a>00068 
-<a name="l00075"></a>00075     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#cfc0a9286778d088487e1e6eef89f9d1">authWithPassword</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* password);
-<a name="l00076"></a>00076 
-<a name="l00085"></a>00085     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#e1103a358cc4c5e5551cc02b456f5b49">authWithKey</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName);
-<a name="l00086"></a>00086 
-<a name="l00087"></a>00087   <span class="keyword">public</span>:
-<a name="l00091"></a>00091     <a class="code" href="classne7ssh__connection.html#7024b9b12d517609243fb90ecd859434">ne7ssh_connection</a>();
-<a name="l00092"></a>00092 
-<a name="l00096"></a>00096     <a class="code" href="classne7ssh__connection.html#089e8aa8fbdfded464394ee94334d36c">~ne7ssh_connection</a>();
-<a name="l00097"></a>00097 
-<a name="l00109"></a>00109     <span class="keywordtype">int</span> <a class="code" href="classne7ssh__connection.html#8078ac566bbddf9487131848d5c171d0">connectWithPassword</a> (uint32 channelID, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint32 port, <span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* password, <span class="keywordtype">bool</span> shell = <span class="keyword">true</span>, <span class="keywordtype">int</span> timeout = 0);
-<a name="l00110"></a>00110 
-<a name="l00122"></a>00122     <span class="keywordtype">int</span> <a class="code" href="classne7ssh__connection.html#4b9a9d4b26e474a175f8bacbc18e7e08">connectWithKey</a> (uint32 channelID, <span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint32 port, <span class="keyword">const</span> <span class="keywordtype">char</span>* username, <span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName, <span class="keywordtype">bool</span> shell = <span class="keyword">true</span>, <span class="keywordtype">int</span> timeout = 0);
-<a name="l00123"></a>00123 
-<a name="l00128"></a><a class="code" href="classne7ssh__connection.html#ec81b2d5753f8d333de76535af5cb670">00128</a>     SOCKET <a class="code" href="classne7ssh__connection.html#ec81b2d5753f8d333de76535af5cb670">getSocket</a> () { <span class="keywordflow">return</span> sock; }
-<a name="l00129"></a>00129 
-<a name="l00133"></a>00133     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__connection.html#e12a09bb5c6974e0b17ce957a8bf03f0">handleData</a> ();
-<a name="l00134"></a>00134 
-<a name="l00139"></a>00139     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__connection.html#32f5f75a2331f312d41678594e4edcd8">sendData</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* data);
-<a name="l00140"></a>00140 
-<a name="l00144"></a><a class="code" href="classne7ssh__connection.html#717902f4f3a863309e1d013982aecd41">00144</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__connection.html#717902f4f3a863309e1d013982aecd41">setChannelNo</a> (<span class="keywordtype">int</span> channelID) { thisChannel = channelID; }
-<a name="l00145"></a>00145 
-<a name="l00150"></a><a class="code" href="classne7ssh__connection.html#8afe35dfcf55958e5578a894a9111e73">00150</a>     <span class="keywordtype">int</span> <a class="code" href="classne7ssh__connection.html#8afe35dfcf55958e5578a894a9111e73">getChannelNo</a> () { <span class="keywordflow">return</span> thisChannel; }
-<a name="l00151"></a>00151 
-<a name="l00156"></a><a class="code" href="classne7ssh__connection.html#13f6f62c5d0345f1573ad5626bc8e75e">00156</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#13f6f62c5d0345f1573ad5626bc8e75e">data2Send</a> () { <span class="keywordflow">return</span> channel-&gt;<a class="code" href="classne7ssh__channel.html#f12993833f77a6e0cf673133737a995c">data2Send</a>(); }
-<a name="l00157"></a>00157 
-<a name="l00162"></a><a class="code" href="classne7ssh__connection.html#32f5f75a2331f312d41678594e4edcd8">00162</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__connection.html#32f5f75a2331f312d41678594e4edcd8">sendData</a> () { channel-&gt;<a class="code" href="classne7ssh__channel.html#ad6c9e2d2ee39be1c0cd078d30f7b11b">sendAll</a> (); }
-<a name="l00163"></a>00163 
-<a name="l00169"></a>00169     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#9b0770473939bb8230be993d3948017d">sendCmd</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* cmd);
-<a name="l00170"></a>00170 
-<a name="l00176"></a>00176     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#f90793537ef75cbed854f4e525a5c01b">sendClose</a> ();
-<a name="l00177"></a>00177 
-<a name="l00182"></a><a class="code" href="classne7ssh__connection.html#5062b1df08b2cdb04ee8b6b2b73f0733">00182</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#5062b1df08b2cdb04ee8b6b2b73f0733">isOpen</a> () { <span class="keywordflow">return</span> channel-&gt;<a class="code" href="classne7ssh__channel.html#d78ff7808101f1e577a8dcc6715df1e8">isOpen</a>(); }
-<a name="l00183"></a>00183 
-<a name="l00188"></a><a class="code" href="classne7ssh__connection.html#27691577539dd356f7f872755d7053de">00188</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#27691577539dd356f7f872755d7053de">isConnected</a> () { <span class="keywordflow">return</span> connected; }
-<a name="l00189"></a>00189 
-<a name="l00194"></a><a class="code" href="classne7ssh__connection.html#3aac541e10f43b83a42aef34a1fb876f">00194</a>     Botan::SecureVector&lt;Botan::byte&gt;&amp; <a class="code" href="classne7ssh__connection.html#3aac541e10f43b83a42aef34a1fb876f">getReceived</a> () { <span class="keywordflow">return</span> channel-&gt;<a class="code" href="classne7ssh__channel.html#8a5aa42877d987be82de852804d64224">getReceived</a>(); }
-<a name="l00195"></a>00195                 
-<a name="l00200"></a><a class="code" href="classne7ssh__connection.html#fec5882335c281c8fc06d951b4d59b26">00200</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#fec5882335c281c8fc06d951b4d59b26">getCmdComplete</a>() { <span class="keywordflow">return</span> channel-&gt;<a class="code" href="classne7ssh__channel.html#19cecc814a558e70e692475a861b14b0">getCmdComplete</a>(); }
-<a name="l00201"></a>00201 
-<a name="l00206"></a><a class="code" href="classne7ssh__connection.html#b82b95339f325564f83bc2cc091af995">00206</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#b82b95339f325564f83bc2cc091af995">isCmdClosed</a>() { <span class="keywordflow">return</span> cmdClosed; }
-<a name="l00207"></a>00207 
-<a name="l00212"></a><a class="code" href="classne7ssh__connection.html#9919d63251df10e4c0d4fd695b0751c2">00212</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#9919d63251df10e4c0d4fd695b0751c2">isRemoteShell</a> () { <span class="keywordflow">return</span> channel-&gt;<a class="code" href="classne7ssh__channel.html#bba1bcb1c5cf307707b55451cd399598">isRemoteShell</a>(); }
-<a name="l00213"></a>00213 
-<a name="l00218"></a><a class="code" href="classne7ssh__connection.html#53d7ae314361b4911c8802e9fa780ae8">00218</a>     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#53d7ae314361b4911c8802e9fa780ae8">isCmdRunning</a> () { <span class="keywordflow">return</span> cmdRunning; }
-<a name="l00219"></a>00219 
-<a name="l00224"></a>00224     <a class="code" href="classNe7sshSftp.html">Ne7sshSftp</a>* <a class="code" href="classne7ssh__connection.html#cd5e5fa36d401e816ce15989d30618c7">startSftp</a> ();
-<a name="l00225"></a>00225 
-<a name="l00230"></a>00230     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__connection.html#a149c0df2bf930f115026633d9daf550">isSftpActive</a> ();
-<a name="l00231"></a>00231 };
-<a name="l00232"></a>00232 
-<a name="l00233"></a>00233 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__error_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__error_8h_source.html
deleted file mode 100644
index bb8ab8f01dd..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__error_8h_source.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_error.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_error.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                           *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00007"></a>00007 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00009"></a>00009 <span class="comment"> *                                                                         *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00011"></a>00011 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00013"></a>00013 <span class="comment"> ***************************************************************************/</span>
-<a name="l00014"></a>00014 
-<a name="l00015"></a>00015 <span class="preprocessor">#ifndef NE7SSH_ERROR_H</span>
-<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_ERROR_H</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#if !defined(WIN32) &amp;&amp; !defined(__MINGW32__)</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;sys/select.h&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#endif</span>
-<a name="l00022"></a>00022 <span class="preprocessor"></span>
-<a name="l00023"></a>00023 <span class="preprocessor">#define MAX_ERROR_LEN 500</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include "ne7ssh_mutex.h"</span>
-<a name="l00027"></a>00027 
-<a name="l00031"></a><a class="code" href="classNe7sshError.html">00031</a> <span class="keyword">class </span>SSH_EXPORT <a class="code" href="classNe7sshError.html">Ne7sshError</a>
-<a name="l00032"></a>00032 {
-<a name="l00033"></a>00033   <span class="keyword">private</span>:
-<a name="l00034"></a>00034     uint16 memberCount;
-<a name="l00035"></a>00035     <span class="keywordtype">char</span> popedErr[MAX_ERROR_LEN + 1];
-<a name="l00036"></a>00036     <span class="keyword">static</span> Ne7ssh_Mutex mut;
-<a name="l00037"></a>00037 
-<a name="l00041"></a><a class="code" href="structNe7sshError_1_1Error.html">00041</a>     <span class="keyword">struct </span><a class="code" href="structNe7sshError_1_1Error.html">Error</a>
-<a name="l00042"></a>00042     {
-<a name="l00043"></a>00043       int32 channel;
-<a name="l00044"></a>00044       <span class="keywordtype">char</span>* errorStr;
-<a name="l00045"></a>00045     } **ErrorBuffer;
-<a name="l00046"></a>00046 
-<a name="l00052"></a>00052     <span class="keywordtype">bool</span> deleteRecord (uint16 recID);
-<a name="l00053"></a>00053 
-<a name="l00058"></a>00058     <span class="keyword">static</span> <span class="keywordtype">bool</span> lock ();
-<a name="l00059"></a>00059 
-<a name="l00064"></a>00064     <span class="keyword">static</span> <span class="keywordtype">bool</span> unlock ();
-<a name="l00065"></a>00065 
-<a name="l00066"></a>00066   <span class="keyword">public</span>:
-<a name="l00070"></a>00070     <a class="code" href="classNe7sshError.html">Ne7sshError</a>();
-<a name="l00071"></a>00071 
-<a name="l00075"></a>00075     ~<a class="code" href="classNe7sshError.html">Ne7sshError</a>();
-<a name="l00076"></a>00076 
-<a name="l00083"></a>00083     <span class="keywordtype">bool</span> push (int32 channel, <span class="keyword">const</span> <span class="keywordtype">char</span>* format, ...);
-<a name="l00084"></a>00084 
-<a name="l00089"></a>00089     <span class="keyword">const</span> <span class="keywordtype">char</span>* pop ();
-<a name="l00090"></a>00090 
-<a name="l00096"></a>00096     <span class="keyword">const</span> <span class="keywordtype">char</span>* pop (int32 channel);
-<a name="l00097"></a>00097 
-<a name="l00102"></a>00102     <span class="keywordtype">bool</span> deleteCoreMsgs ();
-<a name="l00103"></a>00103 
-<a name="l00109"></a>00109     <span class="keywordtype">bool</span> deleteChannel (int32 channel);
-<a name="l00110"></a>00110 
-<a name="l00111"></a>00111 };
-<a name="l00112"></a>00112 
-<a name="l00113"></a>00113 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__kex_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__kex_8h_source.html
deleted file mode 100644
index 87e22f488a2..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__kex_8h_source.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_kex.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_kex.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_KEX_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_KEX_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_session.h"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include "ne7ssh_transport.h"</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include "crypt.h"</span>
-<a name="l00025"></a>00025 
-<a name="l00029"></a><a class="code" href="classne7ssh__kex.html">00029</a> <span class="keyword">class </span><a class="code" href="classne7ssh__kex.html">ne7ssh_kex</a>
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031   <span class="keyword">private</span>:
-<a name="l00032"></a>00032     <a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* session;
-<a name="l00033"></a>00033     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> localKex;
-<a name="l00034"></a>00034     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> remotKex;
-<a name="l00035"></a>00035     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> hostKey;
-<a name="l00036"></a>00036     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> e;
-<a name="l00037"></a>00037     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> f;
-<a name="l00038"></a>00038     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> k;
-<a name="l00039"></a>00039     Botan::SecureVector&lt;Botan::byte&gt; Ciphers, Hmacs;
-<a name="l00040"></a>00040 
-<a name="l00044"></a>00044     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__kex.html#87bd9e1b7d1a8e785c2b72a611bd4d29">constructLocalKex</a>();
-<a name="l00045"></a>00045 
-<a name="l00050"></a>00050     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__kex.html#a16951ccf9d9a651b30c04fbcc9f2e01">makeH</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; hVector);
-<a name="l00051"></a>00051 
-<a name="l00052"></a>00052   <span class="keyword">public</span>:
-<a name="l00057"></a>00057     <a class="code" href="classne7ssh__kex.html#ac9d99203f3719b79dd97f5842d081d8">ne7ssh_kex</a>(<a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* _session);
-<a name="l00058"></a>00058 
-<a name="l00062"></a>00062     <a class="code" href="classne7ssh__kex.html#29b408432a50b3d193b3f9cd4a952782">~ne7ssh_kex</a>();
-<a name="l00063"></a>00063 
-<a name="l00068"></a>00068     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__kex.html#f86fc5b573f9a53c031fc29957c39382">sendInit</a>();
-<a name="l00069"></a>00069 
-<a name="l00075"></a>00075     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__kex.html#aca46fcf520a7033bd2a1f30ef0cbe71">handleInit</a>();
-<a name="l00076"></a>00076 
-<a name="l00081"></a>00081     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__kex.html#d45276ccfbfa8152386a489463a320b7">sendKexDHInit</a>();
-<a name="l00082"></a>00082 
-<a name="l00088"></a>00088     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__kex.html#15b9934fc983d47bab9875108ab086ed">handleKexDHReply</a>();
-<a name="l00089"></a>00089 
-<a name="l00095"></a>00095     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__kex.html#05c93da52330ad461cdc65bba1dc014a">sendKexNewKeys</a>();
-<a name="l00096"></a>00096 
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098 
-<a name="l00099"></a>00099 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__keys_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__keys_8h_source.html
deleted file mode 100644
index 3f9460076fc..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__keys_8h_source.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_keys.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_keys.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_KEYS_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_KEYS_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#include &lt;botan/pubkey.h&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;botan/pem.h&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;botan/dsa.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;botan/rsa.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;botan/numthry.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;botan/der_enc.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;botan/ber_dec.h&gt;</span>
-<a name="l00026"></a>00026 
-<a name="l00027"></a>00027 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00029"></a>00029 
-<a name="l00030"></a>00030 <span class="preprocessor">#define MAX_KEYSIZE 8192</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span>
-<a name="l00032"></a>00032 
-<a name="l00036"></a><a class="code" href="classne7ssh__keys.html">00036</a> <span class="keyword">class </span><a class="code" href="classne7ssh__keys.html">ne7ssh_keys</a>
-<a name="l00037"></a>00037 {
-<a name="l00038"></a>00038   <span class="keyword">private</span>:
-<a name="l00039"></a>00039     Botan::DSA_PrivateKey *dsaPrivateKey;
-<a name="l00040"></a>00040     Botan::RSA_PrivateKey *rsaPrivateKey;
-<a name="l00041"></a>00041     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> publicKeyBlob;
-<a name="l00042"></a>00042     Botan::SecureVector&lt;Botan::byte&gt; signature;
-<a name="l00043"></a>00043 
-<a name="l00044"></a>00044     uint8 keyAlgo;
-<a name="l00045"></a>00045 
-<a name="l00052"></a>00052     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__keys.html#9dba05ee332fd2b3947807d9ef8b0a95">getDSAKeys</a> (<span class="keywordtype">char</span>* buffer, uint32 size);
-<a name="l00053"></a>00053 
-<a name="l00060"></a>00060     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__keys.html#faddb661a61e70eb9bc714d097d8980b">getRSAKeys</a> (<span class="keywordtype">char</span>* buffer, uint32 size);
-<a name="l00061"></a>00061 
-<a name="l00062"></a>00062   <span class="keyword">public</span>:
-<a name="l00063"></a>00063     <span class="keyword">enum</span> keyAlgos { DSA, RSA };
-<a name="l00064"></a>00064 
-<a name="l00068"></a>00068     <a class="code" href="classne7ssh__keys.html#d9edaab331f5e56112d035b904a59dca">ne7ssh_keys</a>();
-<a name="l00069"></a>00069 
-<a name="l00074"></a>00074     <a class="code" href="classne7ssh__keys.html#dbe80f9c6f7806d5909bb811b4a73cb8">~ne7ssh_keys</a>();
-<a name="l00075"></a>00075 
-<a name="l00084"></a>00084     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__keys.html#4e1d32a1fcdf8599e1d9cc0f8382a5ce">generateDSAKeys</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* fqdn, <span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName, <span class="keyword">const</span> <span class="keywordtype">char</span>* pubKeyFileName, uint16 keySize = 2048);
-<a name="l00085"></a>00085 
-<a name="l00094"></a>00094     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__keys.html#3cbce01402069e4d78a5a80f12d74ad4">generateRSAKeys</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* fqdn, <span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName, <span class="keyword">const</span> <span class="keywordtype">char</span>* pubKeyFileName, uint16 keySize = 2048);
-<a name="l00095"></a>00095 
-<a name="l00102"></a>00102     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__keys.html#dbc39ba71fd5b7a3c613c90d8620711b">getKeyPairFromFile</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* privKeyFileName);
-<a name="l00103"></a>00103 
-<a name="l00111"></a>00111     Botan::SecureVector&lt;Botan::byte&gt;&amp; <a class="code" href="classne7ssh__keys.html#faf77aad8057e0a2e616040677ab696b">generateSignature</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; sessionID, Botan::SecureVector&lt;Botan::byte&gt;&amp; signingData);
-<a name="l00112"></a>00112 
-<a name="l00119"></a>00119     Botan::SecureVector&lt;Botan::byte&gt; <a class="code" href="classne7ssh__keys.html#77df178024644ea4fffab1354bf7a872">generateDSASignature</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; sessionID, Botan::SecureVector&lt;Botan::byte&gt;&amp; signingData);
-<a name="l00120"></a>00120 
-<a name="l00127"></a>00127     Botan::SecureVector&lt;Botan::byte&gt; <a class="code" href="classne7ssh__keys.html#79baa24130d9207119840f481bb03841">generateRSASignature</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; sessionID, Botan::SecureVector&lt;Botan::byte&gt;&amp; signingData);
-<a name="l00128"></a>00128 
-<a name="l00133"></a>00133     Botan::SecureVector&lt;Botan::byte&gt;&amp; <a class="code" href="classne7ssh__keys.html#b798aaf9dcffb0098a02c3faa755c362">getPublicKeyBlob</a> ();
-<a name="l00134"></a>00134 
-<a name="l00139"></a><a class="code" href="classne7ssh__keys.html#70fa62aa01e0104f8d414ca0ef398cee">00139</a>     uint8 <a class="code" href="classne7ssh__keys.html#70fa62aa01e0104f8d414ca0ef398cee">getKeyAlgo</a> () { <span class="keywordflow">return</span> keyAlgo; }
-<a name="l00140"></a>00140 
-<a name="l00141"></a>00141 };
-<a name="l00142"></a>00142 
-<a name="l00143"></a>00143 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__mutex_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__mutex_8h_source.html
deleted file mode 100644
index 4e079b7e3c6..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__mutex_8h_source.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_mutex.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_mutex.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2006 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 
-<a name="l00018"></a>00018 <span class="preprocessor">#ifndef NE7SSH_MUTEX_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_MUTEX_H</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#if defined(WIN32) || defined(__MINGW32__)</span>
-<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;windows.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#else</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;pthread.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#endif</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span>
-<a name="l00027"></a>00027 <span class="keyword">class </span>Ne7ssh_Mutex
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029 <span class="keyword">public</span>:
-<a name="l00030"></a>00030     Ne7ssh_Mutex();
-<a name="l00031"></a>00031 
-<a name="l00032"></a>00032     <span class="keywordtype">int</span> lock();
-<a name="l00033"></a>00033 
-<a name="l00034"></a>00034     <span class="keywordtype">int</span> unlock();
-<a name="l00035"></a>00035 
-<a name="l00036"></a>00036     ~Ne7ssh_Mutex();
-<a name="l00037"></a>00037 <span class="keyword">private</span>:
-<a name="l00038"></a>00038 <span class="preprocessor">#if defined(WIN32) || defined(__MINGW32__)</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span>    CRITICAL_SECTION mutint;
-<a name="l00040"></a>00040 <span class="preprocessor">#else</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span>    pthread_mutex_t mutint;
-<a name="l00042"></a>00042 <span class="preprocessor">#endif</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span>};
-<a name="l00044"></a>00044 
-<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__session_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__session_8h_source.html
deleted file mode 100644
index a1472bd16c6..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__session_8h_source.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_session.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_session.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_SESSION_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_SESSION_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_transport.h"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "crypt.h"</span>
-<a name="l00023"></a>00023 
-<a name="l00027"></a><a class="code" href="classne7ssh__session.html">00027</a> <span class="keyword">class </span><a class="code" href="classne7ssh__session.html">ne7ssh_session</a>
-<a name="l00028"></a>00028 {
-<a name="l00029"></a>00029   <span class="keyword">private</span>:
-<a name="l00030"></a>00030     Botan::SecureVector&lt;Botan::byte&gt; localVersion;
-<a name="l00031"></a>00031     Botan::SecureVector&lt;Botan::byte&gt; remoteVersion;
-<a name="l00032"></a>00032     Botan::SecureVector&lt;Botan::byte&gt; sessionID;
-<a name="l00033"></a>00033     uint32 sendChannel;
-<a name="l00034"></a>00034     uint32 receiveChannel;
-<a name="l00035"></a>00035     uint32 maxPacket;
-<a name="l00036"></a>00036     int32 channelID;
-<a name="l00037"></a>00037 
-<a name="l00038"></a>00038   <span class="keyword">public</span>:
-<a name="l00039"></a>00039     <a class="code" href="classne7ssh__transport.html">ne7ssh_transport</a> *transport;
-<a name="l00040"></a>00040     <a class="code" href="classne7ssh__crypt.html">ne7ssh_crypt</a> *crypto;
-<a name="l00041"></a>00041 
-<a name="l00045"></a>00045     <a class="code" href="classne7ssh__session.html#7a369998cf07127098ac4ea5a7c14ee0">ne7ssh_session</a>();
-<a name="l00046"></a>00046 
-<a name="l00050"></a>00050     <a class="code" href="classne7ssh__session.html#f1190264bc6469759a9644351610e591">~ne7ssh_session</a>();
-<a name="l00051"></a>00051 
-<a name="l00056"></a><a class="code" href="classne7ssh__session.html#839dfb6558383f481f0223d45c096bcd">00056</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#839dfb6558383f481f0223d45c096bcd">setLocalVersion</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; version) { localVersion = version; }
-<a name="l00057"></a>00057 
-<a name="l00062"></a><a class="code" href="classne7ssh__session.html#dcb13b996558fee795ab500ac3cbf000">00062</a>     Botan::SecureVector&lt;Botan::byte&gt; &amp;<a class="code" href="classne7ssh__session.html#dcb13b996558fee795ab500ac3cbf000">getLocalVersion</a> () { <span class="keywordflow">return</span> localVersion; }
-<a name="l00063"></a>00063 
-<a name="l00068"></a><a class="code" href="classne7ssh__session.html#17733deec9178fec1a48eabd06742ea9">00068</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#17733deec9178fec1a48eabd06742ea9">setRemoteVersion</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; version) { remoteVersion = version; }
-<a name="l00069"></a>00069 
-<a name="l00074"></a><a class="code" href="classne7ssh__session.html#b2d1c655d8c81ab6bfb170235044ebc1">00074</a>     Botan::SecureVector&lt;Botan::byte&gt; &amp;<a class="code" href="classne7ssh__session.html#b2d1c655d8c81ab6bfb170235044ebc1">getRemoteVersion</a> () { <span class="keywordflow">return</span> remoteVersion; }    
-<a name="l00075"></a>00075 
-<a name="l00080"></a><a class="code" href="classne7ssh__session.html#eb3056339c4d4852a24f9ead0b065104">00080</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#eb3056339c4d4852a24f9ead0b065104">setSessionID</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; session) { sessionID = session; }
-<a name="l00081"></a>00081 
-<a name="l00086"></a><a class="code" href="classne7ssh__session.html#5fdb932109c9f9dcedbe5be2b6c166ec">00086</a>     Botan::SecureVector&lt;Botan::byte&gt; &amp;<a class="code" href="classne7ssh__session.html#5fdb932109c9f9dcedbe5be2b6c166ec">getSessionID</a> () { <span class="keywordflow">return</span> sessionID; }
-<a name="l00087"></a>00087 
-<a name="l00092"></a><a class="code" href="classne7ssh__session.html#e470ff2211464c8d9ba16d6f313a5a3a">00092</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#e470ff2211464c8d9ba16d6f313a5a3a">setSendChannel</a> (uint32 channel) { sendChannel = channel; }
-<a name="l00093"></a>00093 
-<a name="l00098"></a><a class="code" href="classne7ssh__session.html#00db97d25e6a85ebe34cace7eecad778">00098</a>     uint32 <a class="code" href="classne7ssh__session.html#00db97d25e6a85ebe34cace7eecad778">getSendChannel</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> sendChannel; }
-<a name="l00099"></a>00099 
-<a name="l00104"></a><a class="code" href="classne7ssh__session.html#4d6e88cea05265988d81aeff39aa9239">00104</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#4d6e88cea05265988d81aeff39aa9239">setReceiveChannel</a> (uint32 channel) { receiveChannel = channel; }
-<a name="l00105"></a>00105 
-<a name="l00110"></a><a class="code" href="classne7ssh__session.html#c5d8bc40373b415f9bd436e205fb4716">00110</a>     uint32 <a class="code" href="classne7ssh__session.html#c5d8bc40373b415f9bd436e205fb4716">getReceiveChannel</a> () { <span class="keywordflow">return</span> receiveChannel; }
-<a name="l00111"></a>00111 
-<a name="l00116"></a><a class="code" href="classne7ssh__session.html#499c1ccb25eafd7f7074b98d3ae60eb3">00116</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#499c1ccb25eafd7f7074b98d3ae60eb3">setMaxPacket</a> (uint32 size) { maxPacket = size; }
-<a name="l00117"></a>00117 
-<a name="l00122"></a><a class="code" href="classne7ssh__session.html#2e6c8dc645b3fdef0b20dd31baacb7f4">00122</a>     uint32 <a class="code" href="classne7ssh__session.html#2e6c8dc645b3fdef0b20dd31baacb7f4">getMaxPacket</a> () { <span class="keywordflow">return</span> maxPacket; }
-<a name="l00123"></a>00123 
-<a name="l00128"></a><a class="code" href="classne7ssh__session.html#f58965a25e570cc4076322eee96aa9f0">00128</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__session.html#f58965a25e570cc4076322eee96aa9f0">setSshChannel</a> (int32 channel) { channelID = channel; }
-<a name="l00129"></a>00129 
-<a name="l00134"></a><a class="code" href="classne7ssh__session.html#94dc706e3fd3119b887bdefaf2fe9dda">00134</a>     int32 <a class="code" href="classne7ssh__session.html#94dc706e3fd3119b887bdefaf2fe9dda">getSshChannel</a> () { <span class="keywordflow">return</span> channelID; }
-<a name="l00135"></a>00135 
-<a name="l00136"></a>00136 
-<a name="l00137"></a>00137 };
-<a name="l00138"></a>00138 
-<a name="l00139"></a>00139 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp_8h_source.html
deleted file mode 100644
index b681100ecbe..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp_8h_source.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_sftp.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_sftp.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 
-<a name="l00018"></a>00018 <span class="preprocessor">#ifndef NE7SSHSFTP_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSHSFTP_H</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_channel.h"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "ne7ssh.h"</span>
-<a name="l00023"></a>00023 
-<a name="l00024"></a>00024 <span class="preprocessor">#ifdef WIN32</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="comment">// 777 = 0x1ff</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#ifndef __MINGW32__</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define S_IRUSR 0x100</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define S_IRGRP 0x020</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#define S_IROTH 0x004</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#ifndef __MINGW32__</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define S_IWUSR 0x080</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define S_IWGRP 0x010</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define S_IWOTH 0x002</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#ifndef __MINGW32__</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define S_IXUSR 0x040</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#define S_IXGRP 0x008</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#define S_IXOTH 0x001</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define S_ISUID 0x800</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define S_ISGID 0x400</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#define S_ISVTX 0x200</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#ifndef __MINGW32__</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)</span>
-<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)</span>
-<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00050"></a>00050 <span class="preprocessor"></span>
-<a name="l00051"></a>00051 <span class="preprocessor">#define SSH2_FXP_INIT                1</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_VERSION             2</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_OPEN                3</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_CLOSE               4</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_READ                5</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_WRITE               6</span>
-<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_LSTAT               7</span>
-<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_FSTAT               8</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_SETSTAT             9</span>
-<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_FSETSTAT           10</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_OPENDIR            11</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_READDIR            12</span>
-<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_REMOVE             13</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_MKDIR              14</span>
-<a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_RMDIR              15</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_REALPATH           16</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_STAT               17</span>
-<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_RENAME             18</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_READLINK           19</span>
-<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_LINK               21</span>
-<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_BLOCK              22</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_UNBLOCK            23</span>
-<a name="l00073"></a>00073 <span class="preprocessor"></span>
-<a name="l00074"></a>00074 <span class="preprocessor">#define SSH2_FXP_STATUS            101</span>
-<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_HANDLE            102</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_DATA              103</span>
-<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_NAME              104</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_ATTRS             105</span>
-<a name="l00079"></a>00079 <span class="preprocessor"></span>
-<a name="l00080"></a>00080 <span class="preprocessor">#define SSH2_FXP_EXTENDED          200</span>
-<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXP_EXTENDED_REPLY    201</span>
-<a name="l00082"></a>00082 <span class="preprocessor"></span>
-<a name="l00083"></a>00083 <span class="preprocessor">#define SFTP_VERSION 3</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define SFTP_MAX_SEQUENCE 4294967295U</span>
-<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define SFTP_MAX_PACKET_SIZE (32 * 1024)</span>
-<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define SFTP_MAX_MSG_SIZE (256 * 1024)</span>
-<a name="l00087"></a>00087 <span class="preprocessor"></span>
-<a name="l00088"></a>00088 <span class="preprocessor">#define SSH2_FXF_READ           0x00000001</span>
-<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXF_WRITE          0x00000002</span>
-<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXF_APPEND         0x00000004</span>
-<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXF_CREAT          0x00000008</span>
-<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXF_TRUNC          0x00000010</span>
-<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FXF_EXCL           0x00000020</span>
-<a name="l00094"></a>00094 <span class="preprocessor"></span>
-<a name="l00095"></a>00095 <span class="preprocessor">#define SSH2_FILEXFER_ATTR_SIZE         0x00000001</span>
-<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FILEXFER_ATTR_UIDGID       0x00000002</span>
-<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FILEXFER_ATTR_ACMODTIME    0x00000008</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define SSH2_FILEXFER_ATTR_PERMISSIONS  0x00000004</span>
-<a name="l00099"></a>00099 <span class="preprocessor"></span>
-<a name="l00100"></a>00100 <span class="keyword">class </span><a class="code" href="classne7ssh__session.html">ne7ssh_session</a>;
-<a name="l00101"></a>00101 <span class="keyword">class </span><a class="code" href="classne7ssh__transport.html">ne7ssh_transport</a>;
-<a name="l00102"></a>00102 
-<a name="l00106"></a><a class="code" href="classNe7sshSftp.html">00106</a> <span class="keyword">class </span><a class="code" href="classNe7sshSftp.html">Ne7sshSftp</a> : <span class="keyword">public</span> <a class="code" href="classne7ssh__channel.html">ne7ssh_channel</a>
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108   <span class="keyword">private</span>:
-<a name="l00109"></a>00109     <a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* session;
-<a name="l00110"></a>00110     uint32 timeout;
-<a name="l00111"></a>00111     uint32 seq;
-<a name="l00112"></a>00112     uint8 sftpCmd;
-<a name="l00113"></a>00113     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> commBuffer;
-<a name="l00114"></a>00114     Botan::SecureVector&lt;Botan::byte&gt; fileBuffer;
-<a name="l00115"></a>00115     <span class="keyword">enum</span> writeMode { READ, OVERWRITE, APPEND };
-<a name="l00116"></a>00116     uint8 lastError;
-<a name="l00117"></a>00117     <span class="keywordtype">char</span>* currentPath;
-<a name="l00118"></a>00118 
-<a name="l00122"></a><a class="code" href="structNe7sshSftp_1_1sftpFileAttrs.html">00122</a>     <span class="keyword">typedef</span> <span class="keyword">struct</span>
-<a name="l00123"></a>00123     {
-<a name="l00124"></a>00124       uint32 flags;
-<a name="l00125"></a>00125       uint64 size;
-<a name="l00126"></a>00126       uint32 owner;
-<a name="l00127"></a>00127       uint32 group;
-<a name="l00128"></a>00128       uint32 permissions;
-<a name="l00129"></a>00129       uint32 atime;
-<a name="l00130"></a>00130       uint32 mtime;
-<a name="l00131"></a>00131     } <a class="code" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a>;
-<a name="l00132"></a>00132 
-<a name="l00133"></a>00133     <a class="code" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a> attrs;
-<a name="l00134"></a>00134 
-<a name="l00138"></a><a class="code" href="structNe7sshSftp_1_1sftpFile.html">00138</a>     <span class="keyword">typedef</span> <span class="keyword">struct </span>
-<a name="l00139"></a>00139     {
-<a name="l00140"></a>00140       uint32 fileID;
-<a name="l00141"></a>00141       uint16 handleLen;
-<a name="l00142"></a>00142       <span class="keywordtype">char</span> handle[256];
-<a name="l00143"></a>00143     } <a class="code" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a>;
-<a name="l00144"></a>00144     <a class="code" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a> **sftpFiles;
-<a name="l00145"></a>00145     uint16 sftpFilesCount;
-<a name="l00146"></a>00146 
-<a name="l00152"></a>00152     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#e85f889433d08962712780e4d9d5bfcc">handleData</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00153"></a>00153 
-<a name="l00159"></a>00159     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#5d39897335efc1771e6f10711028b5db">handleVersion</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00160"></a>00160 
-<a name="l00166"></a>00166     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#00a190fb28dba3ff1232168d3362bdd0">handleStatus</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00167"></a>00167 
-<a name="l00173"></a>00173     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#163fe473cdd37cb441b11391ecfe3de2">addOpenHandle</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00174"></a>00174 
-<a name="l00180"></a>00180     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#ff314ae7f9ba0166f1a2809fd87774c5">handleSftpData</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00181"></a>00181 
-<a name="l00187"></a>00187     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#c78f7cc8215312df81b56c3e46c799ad">handleNames</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00188"></a>00188 
-<a name="l00194"></a>00194     <a class="code" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a>* <a class="code" href="classNe7sshSftp.html#abbc88e8a61db941f4497539dda1e941">getFileHandle</a> (uint32 fileID);
-<a name="l00195"></a>00195 
-<a name="l00202"></a>00202     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#54c29781531b3faa940c5285e7e1a094">receiveUntil</a> (<span class="keywordtype">short</span> _cmd, uint32 timeSec = 0);
-<a name="l00203"></a>00203 
-<a name="l00210"></a>00210     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#9728a4a0c2f63f9b5354bc1998057b21">receiveWhile</a> (<span class="keywordtype">short</span> _cmd, uint32 timeSec = 0);
-<a name="l00211"></a>00211 
-<a name="l00217"></a>00217     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#ca25876efc6fc9c6d0f6a45b7f66aa13">processAttrs</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; packet);
-<a name="l00218"></a>00218 
-<a name="l00225"></a>00225     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#0472f6b8ead7dff51b02019d295f4074">getFileStats</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, <span class="keywordtype">bool</span> followSymLinks = <span class="keyword">true</span>);
-<a name="l00226"></a>00226 
-<a name="l00234"></a>00234     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#691f12f078d4483ef665474489ed3d5e">getFileAttrs</a> (<a class="code" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a>&amp; attributes, Botan::SecureVector&lt;Botan::byte&gt;&amp; remoteFile,  <span class="keywordtype">bool</span> followSymLinks = <span class="keyword">true</span>);
-<a name="l00235"></a>00235 
-<a name="l00241"></a>00241     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#2ee78de5897e00e1390834f165ea8b0e">getFStat</a> (uint32 fileID);
-<a name="l00242"></a>00242 
-<a name="l00248"></a>00248     uint64 <a class="code" href="classNe7sshSftp.html#d3bc3ac09658a39a4fd7b5db7dcdaa4b">getFileSize</a> (uint32 fileID);
-<a name="l00249"></a>00249 
-<a name="l00254"></a>00254     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#95b06a2af672b770eeccf32f9bf27f44">receiveWindowAdjust</a> ();
-<a name="l00255"></a>00255 
-<a name="l00261"></a>00261     <a class="code" href="classne7ssh__string.html">ne7ssh_string</a> <a class="code" href="classNe7sshSftp.html#deb660f5da985539b30f156c02d39fdf">getFullPath</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
-<a name="l00262"></a>00262 
-<a name="l00269"></a>00269     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#6664675a3ac0b9841eeee451e089747b">isType</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, uint32 type);
-<a name="l00270"></a>00270 
-<a name="l00271"></a>00271   <span class="keyword">public</span>:
-<a name="l00277"></a>00277     <a class="code" href="classNe7sshSftp.html#1ccf95ce0c82fc811a5357c5bd97c47a">Ne7sshSftp</a>(<a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* _session, <a class="code" href="classne7ssh__channel.html">ne7ssh_channel</a>* _channel);
-<a name="l00278"></a>00278 
-<a name="l00282"></a>00282     <a class="code" href="classNe7sshSftp.html#1d4bcdec50d428aa32c6c94919502dae">~Ne7sshSftp</a>();
-<a name="l00283"></a>00283 
-<a name="l00288"></a>00288     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#e857080aba0bbcf6b1599e3d586010b8">init</a>();
-<a name="l00289"></a>00289 
-<a name="l00294"></a><a class="code" href="classNe7sshSftp.html#991bfa710d93c4fba67bb810f1068676">00294</a>     <span class="keywordtype">void</span> <a class="code" href="classNe7sshSftp.html#991bfa710d93c4fba67bb810f1068676">setTimeout</a> (uint32 _timeout) { timeout = _timeout; }
-<a name="l00295"></a>00295 
-<a name="l00302"></a>00302     uint32 <a class="code" href="classNe7sshSftp.html#2f6b4b5c78f00017b579cbefb33ca50f">openFile</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* filename, uint8 shortMode);
-<a name="l00303"></a>00303 
-<a name="l00309"></a>00309     uint32 <a class="code" href="classNe7sshSftp.html#4450ac43a6a9d682933d529c60025680">openDir</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* dirname);
-<a name="l00310"></a>00310 
-<a name="l00317"></a>00317     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#fee9fa39f3ec886f9254c379b820b0ba">readFile</a> (uint32 fileID, uint64 offset = 0);
-<a name="l00318"></a>00318 
-<a name="l00327"></a>00327     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#6fd55afdebec6ece8af2d5524dc2e5a0">writeFile</a> (uint32 fileID, <span class="keyword">const</span> uint8* data, uint32 len, uint64 offset = 0);
-<a name="l00328"></a>00328 
-<a name="l00334"></a>00334     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#47e7320f6168686934b63a7372be657c">closeFile</a> (uint32 fileID);
-<a name="l00335"></a>00335 
-<a name="l00343"></a>00343     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#691f12f078d4483ef665474489ed3d5e">getFileAttrs</a> (<a class="code" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>&amp; attributes, <span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile,  <span class="keywordtype">bool</span> followSymLinks = <span class="keyword">true</span>);
-<a name="l00344"></a>00344 
-<a name="l00350"></a>00350     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#91d287ebd0152a37b72fd8a61942f099">isFile</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00351"></a>00351 
-<a name="l00357"></a>00357     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#59b34ba51b2cd851777a4303e0aa0867">isDir</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00358"></a>00358 
-<a name="l00359"></a>00359 
-<a name="l00366"></a>00366     <span class="keywordtype">bool</span> <span class="keyword">get</span> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, FILE* localFile);
-<a name="l00367"></a>00367 
-<a name="l00374"></a>00374     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#aeacc2f7540067dd82cf04c78da5ee42">put</a> (FILE* localFile, <span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00375"></a>00375 
-<a name="l00381"></a>00381     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#7016d759690e078aa3be651bafc5b84b">rm</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile);
-<a name="l00382"></a>00382 
-<a name="l00389"></a>00389     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#24ba4bf55763a6eb9457e9522b3ce986">mv</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* oldFile, <span class="keyword">const</span> <span class="keywordtype">char</span>* newFile);
-<a name="l00390"></a>00390 
-<a name="l00396"></a>00396     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#55e47dfc93a93d7b7b19e938eb4042ca">mkdir</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir);
-<a name="l00397"></a>00397 
-<a name="l00403"></a>00403     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#17021eaaf1224e74a052ef4ed40864ec">rmdir</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir);
-<a name="l00404"></a>00404 
-<a name="l00411"></a>00411     <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classNe7sshSftp.html#b6899910533f6f09c5a0322549e71367">ls</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir, <span class="keywordtype">bool</span> longNames=<span class="keyword">false</span>);
-<a name="l00412"></a>00412 
-<a name="l00418"></a>00418     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#dfec287ad5e1a05a9ec5974e51765635">cd</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteDir);
-<a name="l00419"></a>00419 
-<a name="l00426"></a>00426     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#a94a84d20f5e691d25c8d2c0c46d9f0d">chmod</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, <span class="keyword">const</span> <span class="keywordtype">char</span>* mode);
-<a name="l00427"></a>00427 
-<a name="l00435"></a>00435     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftp.html#577bc8eb8c066bb20e81a12284486500">chown</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* remoteFile, uint32 uid, uint32 gid = 0);
-<a name="l00436"></a>00436 };
-<a name="l00437"></a>00437 
-<a name="l00438"></a>00438 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp__packet_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp__packet_8h_source.html
deleted file mode 100644
index 179fd9bbcd1..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__sftp__packet_8h_source.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_sftp_packet.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_sftp_packet.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSHSFTPPACKET_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSHSFTPPACKET_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00022"></a>00022 
-<a name="l00026"></a><a class="code" href="classNe7sshSftpPacket.html">00026</a> <span class="keyword">class </span><a class="code" href="classNe7sshSftpPacket.html">Ne7sshSftpPacket</a> : <span class="keyword">public</span> <a class="code" href="classne7ssh__string.html">ne7ssh_string</a>
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028   <span class="keyword">private</span>:
-<a name="l00029"></a>00029     <span class="keywordtype">int</span> channel;
-<a name="l00030"></a>00030 
-<a name="l00031"></a>00031   <span class="keyword">public</span>:
-<a name="l00036"></a>00036     <a class="code" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a>();
-<a name="l00041"></a>00041     <a class="code" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a>(<span class="keywordtype">int</span> channel);
-<a name="l00042"></a>00042 
-<a name="l00048"></a>00048     <a class="code" href="classNe7sshSftpPacket.html#54df2d3302fdf0e825f4ad1b616cc15c">Ne7sshSftpPacket</a>(Botan::SecureVector&lt;Botan::byte&gt;&amp; var, uint32 position);
-<a name="l00049"></a>00049     
-<a name="l00053"></a>00053     <a class="code" href="classNe7sshSftpPacket.html#515d160ed0a9b6d25df767cb57fee7ab">~Ne7sshSftpPacket</a>();
-<a name="l00054"></a>00054 
-<a name="l00059"></a>00059     Botan::SecureVector&lt;Botan::byte&gt; &amp;<a class="code" href="classNe7sshSftpPacket.html#a9ad7d742391e82b582bbe92d7733bac">value</a> ();
-<a name="l00060"></a>00060 
-<a name="l00066"></a>00066     Botan::SecureVector&lt;Botan::byte&gt; <a class="code" href="classNe7sshSftpPacket.html#9752d881865bf4aa3eb55ce6207a2014">valueFragment</a> (uint32 len = 0);
-<a name="l00067"></a>00067 
-<a name="l00072"></a>00072     <span class="keywordtype">void</span> <a class="code" href="classNe7sshSftpPacket.html#fa2cc71f2c697621a22c092a84d4bbbb">addInt64</a> (<span class="keyword">const</span> uint64 var);
-<a name="l00073"></a>00073 
-<a name="l00078"></a>00078     uint64 <a class="code" href="classNe7sshSftpPacket.html#49290c1b73cf7cfbe684555e7b125317">getInt64</a> ();
-<a name="l00079"></a>00079 
-<a name="l00084"></a>00084     <span class="keywordtype">bool</span> <a class="code" href="classNe7sshSftpPacket.html#43daa80040c6c1676f00af013fea566f">isChannelSet</a> ();
-<a name="l00085"></a>00085 
-<a name="l00086"></a>00086 };
-<a name="l00087"></a>00087 
-<a name="l00088"></a>00088 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__string_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__string_8h_source.html
deleted file mode 100644
index 8139ed96380..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__string_8h_source.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_string.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_string.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_STRING_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_STRING_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;botan/bigint.h&gt;</span>
-<a name="l00022"></a>00022  
-<a name="l00026"></a><a class="code" href="classne7ssh__string.html">00026</a> <span class="keyword">class </span><a class="code" href="classne7ssh__string.html">ne7ssh_string</a>
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="keyword">private</span>:
-<a name="l00029"></a>00029   Botan::byte **positions;
-<a name="l00030"></a>00030   uint32 parts;
-<a name="l00031"></a>00031   uint32 currentPart;
-<a name="l00032"></a>00032 
-<a name="l00033"></a>00033 <span class="keyword">protected</span>:
-<a name="l00034"></a>00034   Botan::SecureVector&lt;Botan::byte&gt; buffer;
-<a name="l00035"></a>00035 
-<a name="l00036"></a>00036 <span class="keyword">public</span>:
-<a name="l00041"></a>00041     <a class="code" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>();
-<a name="l00042"></a>00042 
-<a name="l00049"></a>00049     <a class="code" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>(Botan::SecureVector&lt;Botan::byte&gt;&amp; var, uint32 position);
-<a name="l00050"></a>00050 
-<a name="l00056"></a>00056     <a class="code" href="classne7ssh__string.html#b4419d40aa0e062b15741e30b5c6f9d4">ne7ssh_string</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* var, uint32 position);
-<a name="l00057"></a>00057 
-<a name="l00061"></a>00061     <span class="keyword">virtual</span> <a class="code" href="classne7ssh__string.html#0b8fd6571f6e272c199521d1badecea6">~ne7ssh_string</a>();
-<a name="l00062"></a>00062 
-<a name="l00066"></a><a class="code" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">00066</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#878cacf6b1fc6e1ae561584444e13db9">clear</a>() { buffer.destroy(); }
-<a name="l00067"></a>00067 
-<a name="l00074"></a>00074     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#28ea3ddaf5f19c6202bd173c990ed835">addString</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* str);
-<a name="l00075"></a>00075 
-<a name="l00081"></a>00081     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__string.html#2fdcd0fa8215c6ce73ec8dc61f7ae8c5">addFile</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
-<a name="l00082"></a>00082 
-<a name="l00088"></a>00088     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#4bf8792affeb750976e18f658eeba5ee">addBytes</a> (<span class="keyword">const</span> Botan::byte* buff, uint32 len);
-<a name="l00089"></a>00089 
-<a name="l00094"></a>00094     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#f0e0658970d00f271b5053130e294ee4">addVector</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; secvec);
-<a name="l00095"></a>00095 
-<a name="l00102"></a>00102     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#e5925806510ef106e1435640b6010bc7">addVectorField</a> (<span class="keyword">const</span> Botan::SecureVector&lt;Botan::byte&gt;&amp; vector);
-<a name="l00103"></a>00103 
-<a name="l00108"></a>00108     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#b746c998869885e043ff1db422c8ebf5">addChar</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> ch);
-<a name="l00109"></a>00109 
-<a name="l00115"></a>00115     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#387c791ce256b9a3747f654596b5945f">addInt</a> (<span class="keyword">const</span> uint32 var);
-<a name="l00116"></a>00116 
-<a name="l00123"></a>00123     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#477f55539eb249bda2a7c311f2639437">addBigInt</a> (<span class="keyword">const</span> Botan::BigInt&amp; bn);
-<a name="l00124"></a>00124 
-<a name="l00129"></a><a class="code" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">00129</a>     <span class="keyword">virtual</span> Botan::SecureVector&lt;Botan::byte&gt; &amp;<a class="code" href="classne7ssh__string.html#b593c45799f28af90922b7a8332e1a9f">value</a> () { <span class="keywordflow">return</span> buffer; }
-<a name="l00130"></a>00130 
-<a name="l00135"></a><a class="code" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">00135</a>     uint32 <a class="code" href="classne7ssh__string.html#0b70fd63fc4dd1d5badce895d318b117">length</a> () { <span class="keywordflow">return</span> buffer.size(); }
-<a name="l00136"></a>00136 
-<a name="l00142"></a>00142     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__string.html#6437d3125dd58e4d71bd0e0351a315ec">getString</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; result);
-<a name="l00143"></a>00143 
-<a name="l00149"></a>00149     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__string.html#f0e1783a46f61bce09daa9cbd3a1a64b">getBigInt</a> (Botan::BigInt&amp; result);
-<a name="l00150"></a>00150 
-<a name="l00155"></a>00155     uint32 <a class="code" href="classne7ssh__string.html#d7cb4926f971ecbe25a03bca59d0e6bb">getInt</a> ();
-<a name="l00156"></a>00156 
-<a name="l00161"></a>00161     Botan::byte <a class="code" href="classne7ssh__string.html#231e8c002067934db84921f4bdc1c467">getByte</a> ();
-<a name="l00162"></a>00162 
-<a name="l00167"></a>00167     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#47f06a2606e6982a2741de59be7ea786">split</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> token);
-<a name="l00168"></a>00168 
-<a name="l00172"></a><a class="code" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">00172</a>     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#ea5ca8a3645c570af9f03bc4f9bdc523">resetParts</a> () { currentPart = 0; }
-<a name="l00173"></a>00173 
-<a name="l00178"></a>00178     <span class="keywordtype">char</span>* <a class="code" href="classne7ssh__string.html#198a4c462ea4e73314c81003f09c98bd">nextPart</a> ();
-<a name="l00179"></a>00179 
-<a name="l00184"></a>00184     <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#722e2787d24d59b0432fa9a1b38f0aa2">chop</a> (uint32 nBytes);
-<a name="l00185"></a>00185 
-<a name="l00192"></a>00192     <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classne7ssh__string.html#7c1276275a551da4dc460a7f9e8884eb">bn2vector</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; result, <span class="keyword">const</span> Botan::BigInt&amp; bi);
-<a name="l00193"></a>00193 
-<a name="l00194"></a>00194 };
-<a name="l00195"></a>00195 
-<a name="l00196"></a>00196 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__transport_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__transport_8h_source.html
deleted file mode 100644
index 130df3e5e84..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__transport_8h_source.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_transport.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_transport.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_TRANSPORT_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_TRANSPORT_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "crypt.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "ne7ssh_types.h"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "ne7ssh_string.h"</span>
-<a name="l00023"></a>00023 
-<a name="l00024"></a>00024 <span class="preprocessor">#if defined(WIN32) || defined(__MINGW32__)</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#   include &lt;winsock.h&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#endif</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00028"></a>00028 
-<a name="l00029"></a>00029 <span class="comment">//#define MAX_PACKET_LEN 35000</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#define MAX_PACKET_LEN 34816</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define MAX_SEQUENCE 4294967295U</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span>
-<a name="l00033"></a>00033 <span class="preprocessor">#if !defined(WIN32) &amp;&amp; !defined(__MINGW32__)</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#  define SOCKET int</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span>
-<a name="l00037"></a>00037 <span class="keyword">class </span><a class="code" href="classne7ssh__session.html">ne7ssh_session</a>;
-<a name="l00038"></a>00038 
-<a name="l00042"></a><a class="code" href="classne7ssh__transport.html">00042</a> <span class="keyword">class </span><a class="code" href="classne7ssh__transport.html">ne7ssh_transport</a>
-<a name="l00043"></a>00043 {
-<a name="l00044"></a>00044   <span class="keyword">private</span>:
-<a name="l00045"></a>00045     uint32 seq, rSeq;
-<a name="l00046"></a>00046     <span class="keyword">const</span> <a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* session;
-<a name="l00047"></a>00047     SOCKET sock;
-<a name="l00048"></a>00048     Botan::SecureVector&lt;Botan::byte&gt; in;
-<a name="l00049"></a>00049     Botan::SecureVector&lt;Botan::byte&gt; inBuffer;
-<a name="l00050"></a>00050 
-<a name="l00057"></a>00057     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__transport.html#750400736781c5d40a68a47f95f3af00">NoBlock</a> (SOCKET socket, <span class="keywordtype">bool</span> on);
-<a name="l00058"></a>00058 
-<a name="l00066"></a>00066     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__transport.html#e61c53b2f743afecec25cfe7fffc3799">wait</a> (SOCKET socket, <span class="keywordtype">int</span> rw, <span class="keywordtype">int</span> timeout = -1);
-<a name="l00067"></a>00067 
-<a name="l00068"></a>00068   <span class="keyword">public</span>:
-<a name="l00074"></a>00074     <a class="code" href="classne7ssh__transport.html#bc335c4d181ee23ef6f6c819d41a9533">ne7ssh_transport</a>(<a class="code" href="classne7ssh__session.html">ne7ssh_session</a>* _session);
-<a name="l00075"></a>00075 
-<a name="l00079"></a>00079     <a class="code" href="classne7ssh__transport.html#c9b896ad9d855fc818b0b5350f47ccf7">~ne7ssh_transport</a>();
-<a name="l00080"></a>00080 
-<a name="l00088"></a>00088     SOCKET <a class="code" href="classne7ssh__transport.html#122602c51b558d07920bbf3f19c53e83">establish</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *host, uint32 port, <span class="keywordtype">int</span> timeout = 0);
-<a name="l00089"></a>00089 
-<a name="l00096"></a>00096     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__transport.html#e68ee5d295430f648424b5ba359d9503">receive</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; buffer, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>);
-<a name="l00097"></a>00097 
-<a name="l00103"></a>00103     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__transport.html#e88fef35a5b4b0960ccee3142e486eb6">send</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; buffer);
-<a name="l00104"></a>00104 
-<a name="l00110"></a>00110     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__transport.html#c62051d1b6aeeb65867ffd1c1578938f">sendPacket</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; buffer);
-<a name="l00111"></a>00111 
-<a name="l00120"></a>00120     <span class="keywordtype">short</span> <a class="code" href="classne7ssh__transport.html#8d502d0e554e92d9536f8be2f9e07fd0">waitForPacket</a> (Botan::byte cmd, <span class="keywordtype">bool</span> bufferOnly = <span class="keyword">false</span>);
-<a name="l00121"></a>00121 
-<a name="l00127"></a>00127     uint32 <a class="code" href="classne7ssh__transport.html#a602061a2091786b16527534aa8bb99a">getPacket</a> (Botan::SecureVector&lt;Botan::byte&gt;&amp; result);
-<a name="l00128"></a>00128 
-<a name="l00133"></a>00133     <span class="keywordtype">bool</span> <a class="code" href="classne7ssh__transport.html#c5e49ab89bc98e9da758a194b7870d57">haveData</a> ();
-<a name="l00134"></a>00134 };
-<a name="l00135"></a>00135 
-<a name="l00136"></a>00136 <span class="preprocessor">#endif</span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__types_8h_source.html b/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__types_8h_source.html
deleted file mode 100644
index 91c005d093a..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/ne7ssh__types_8h_source.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: ne7ssh_types.h Source File</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li><a href="annotated.html"><span>Classes</span></a></li>
-      <li class="current"><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="dir_dd1c5291a9065b7545d10d656e7badb5.html">projects</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_0149abaf0c2b822b0c584e3b6dde2eae.html">ne7ssh</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_f38c3faaed4ee86c894d75645400fcb5.html">src</a>
-  </div>
-</div>
-<div class="contents">
-<h1>ne7ssh_types.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/***************************************************************************</span>
-<a name="l00002"></a>00002 <span class="comment"> *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *</span>
-<a name="l00003"></a>00003 <span class="comment"> *   Author: Andrew Useckas                                                *</span>
-<a name="l00004"></a>00004 <span class="comment"> *   Email: andrew@netsieben.com                                           *</span>
-<a name="l00005"></a>00005 <span class="comment"> *                                                                         *</span>
-<a name="l00006"></a>00006 <span class="comment"> *   Windows Port and bugfixes: Keef Aragon &lt;keef@netsieben.com&gt;           *</span>
-<a name="l00007"></a>00007 <span class="comment"> *                                                                         *</span>
-<a name="l00008"></a>00008 <span class="comment"> *   This program may be distributed under the terms of the Q Public       *</span>
-<a name="l00009"></a>00009 <span class="comment"> *   License as defined by Trolltech AS of Norway and appearing in the     *</span>
-<a name="l00010"></a>00010 <span class="comment"> *   file LICENSE.QPL included in the packaging of this file.              *</span>
-<a name="l00011"></a>00011 <span class="comment"> *                                                                         *</span>
-<a name="l00012"></a>00012 <span class="comment"> *   This program is distributed in the hope that it will be useful,       *</span>
-<a name="l00013"></a>00013 <span class="comment"> *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *</span>
-<a name="l00014"></a>00014 <span class="comment"> *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *</span>
-<a name="l00015"></a>00015 <span class="comment"> ***************************************************************************/</span>
-<a name="l00016"></a>00016 
-<a name="l00017"></a>00017 <span class="preprocessor">#ifndef NE7SSH_TYPES_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define NE7SSH_TYPES_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#if defined(WIN32) || defined(__MINGW32)</span>
-<a name="l00021"></a>00021 <span class="preprocessor"></span>  <span class="keyword">typedef</span> <span class="keywordtype">int</span> int32_t;
-<a name="l00022"></a>00022   <span class="keyword">typedef</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>      int64_t;
-<a name="l00023"></a>00023   <span class="keyword">typedef</span> <span class="keywordtype">short</span>        int16_t;
-<a name="l00024"></a>00024   <span class="keyword">typedef</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span>  int8_t;
-<a name="l00025"></a>00025 
-<a name="l00026"></a>00026   <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> uint32_t;
-<a name="l00027"></a>00027   <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> uint64_t;
-<a name="l00028"></a>00028   <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> uint16_t;
-<a name="l00029"></a>00029   <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>  uint8_t;
-<a name="l00030"></a>00030 
-<a name="l00031"></a>00031 <span class="preprocessor">#   if defined(_WINDLL) || defined(_USRDLL) || defined(_CONSOLE) || defined(_WINDOWS)</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#       ifdef NE7SSH_EXPORTS</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#        define SSH_EXPORT __declspec(dllexport)</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#      else</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#        define SSH_EXPORT __declspec(dllimport)</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor">#      endif</span>
-<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#   else</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#       define SSH_EXPORT</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="preprocessor">#   endif</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#  include &lt;inttypes.h&gt;</span>
-<a name="l00042"></a>00042 <span class="preprocessor">#  define SSH_EXPORT</span>
-<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span>
-<a name="l00045"></a>00045 <span class="preprocessor">#ifndef int64_defined</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define int64_defined</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">typedef</span> int64_t int64;
-<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
-<a name="l00049"></a>00049 <span class="preprocessor"></span>
-<a name="l00050"></a>00050 <span class="preprocessor">#ifndef uint64_defined</span>
-<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define uint64_defined</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="keyword">typedef</span> uint64_t uint64;
-<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span>
-<a name="l00055"></a>00055 <span class="preprocessor">#ifndef int32_defined</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define int32_defined</span>
-<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="keyword">typedef</span> int32_t int32;
-<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
-<a name="l00059"></a>00059 <span class="preprocessor"></span>
-<a name="l00060"></a>00060 <span class="preprocessor">#ifndef uint32_defined</span>
-<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define uint32_defined</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="keyword">typedef</span> uint32_t uint32;
-<a name="l00063"></a>00063 <span class="preprocessor">#endif</span>
-<a name="l00064"></a>00064 <span class="preprocessor"></span>
-<a name="l00065"></a>00065 <span class="preprocessor">#ifndef int16_defined</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span><span class="preprocessor">#define int16_defined</span>
-<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="keyword">typedef</span> int16_t int16;
-<a name="l00068"></a>00068 <span class="preprocessor">#endif</span>
-<a name="l00069"></a>00069 <span class="preprocessor"></span>
-<a name="l00070"></a>00070 <span class="preprocessor">#ifndef uint16_defined</span>
-<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#define uint16_defined</span>
-<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="keyword">typedef</span> uint16_t uint16;
-<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
-<a name="l00074"></a>00074 <span class="preprocessor"></span>
-<a name="l00075"></a>00075 <span class="preprocessor">#ifndef int8_defined</span>
-<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="preprocessor">#define int8_defined</span>
-<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="keyword">typedef</span> int8_t int8;
-<a name="l00078"></a>00078 <span class="preprocessor">#endif</span>
-<a name="l00079"></a>00079 <span class="preprocessor"></span>
-<a name="l00080"></a>00080 <span class="preprocessor">#ifndef uint8_defined</span>
-<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define uint8_defined</span>
-<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="keyword">typedef</span> uint8_t uint8;
-<a name="l00083"></a>00083 <span class="preprocessor">#endif</span>
-<a name="l00084"></a>00084 <span class="preprocessor"></span>
-<a name="l00085"></a>00085 <span class="preprocessor">#ifndef Byte_defined</span>
-<a name="l00086"></a>00086 <span class="preprocessor"></span><span class="preprocessor">#define Byte_defined</span>
-<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="keyword">typedef</span> uint8_t Byte;
-<a name="l00088"></a>00088 <span class="preprocessor">#endif</span>
-<a name="l00089"></a>00089 <span class="preprocessor"></span>
-<a name="l00090"></a>00090 <span class="preprocessor">#if defined(WIN32) || defined(__MINGW32__)</span>
-<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#  define usleep(time) Sleep(time)</span>
-<a name="l00092"></a>00092 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00093"></a>00093 <span class="preprocessor"></span>
-<a name="l00094"></a>00094 <span class="preprocessor">#endif</span>
-<a name="l00095"></a>00095 <span class="preprocessor"></span>
-</pre></div></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs-members.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs-members.html
deleted file mode 100644
index e25204015a5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs-members.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7SftpSubsystem::fileAttrs Member List</h1>This is the complete list of members for <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>atime</b> (defined in <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>)</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>group</b> (defined in <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>)</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mtime</b> (defined in <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>)</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>owner</b> (defined in <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>)</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>permissions</b> (defined in <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>)</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size</b> (defined in <a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a>)</td><td><a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">Ne7SftpSubsystem::fileAttrs</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs.html
deleted file mode 100644
index a7c5b78971b..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7SftpSubsystem_1_1fileAttrs.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7SftpSubsystem::fileAttrs Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="classNe7SftpSubsystem.html">Ne7SftpSubsystem</a>::<a class="el" href="structNe7SftpSubsystem_1_1fileAttrs.html">fileAttrs</a>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7SftpSubsystem::fileAttrs Struct Reference</h1><!-- doxytag: class="Ne7SftpSubsystem::fileAttrs" --><code>#include &lt;<a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a>&gt;</code>
-<p>
-
-<p>
-<a href="structNe7SftpSubsystem_1_1fileAttrs-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8660d3eecd05315457b439779d512657"></a><!-- doxytag: member="Ne7SftpSubsystem::fileAttrs::size" ref="8660d3eecd05315457b439779d512657" args="" -->
-uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1fc18b3befbc24cf501efce771ba736"></a><!-- doxytag: member="Ne7SftpSubsystem::fileAttrs::owner" ref="d1fc18b3befbc24cf501efce771ba736" args="" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>owner</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1e5cff7f797970e28d7b8d0fbff42f1"></a><!-- doxytag: member="Ne7SftpSubsystem::fileAttrs::group" ref="d1e5cff7f797970e28d7b8d0fbff42f1" args="" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>group</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ce8b160e57e68a77e30b42846ef4776"></a><!-- doxytag: member="Ne7SftpSubsystem::fileAttrs::permissions" ref="5ce8b160e57e68a77e30b42846ef4776" args="" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>permissions</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1dc5338e3ac125bec64d9e075ec0ac5e"></a><!-- doxytag: member="Ne7SftpSubsystem::fileAttrs::atime" ref="1dc5338e3ac125bec64d9e075ec0ac5e" args="" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>atime</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27c0792aa0c107e5fe652215f127cffc"></a><!-- doxytag: member="Ne7SftpSubsystem::fileAttrs::mtime" ref="27c0792aa0c107e5fe652215f127cffc" args="" -->
-uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>mtime</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Structure used to store rmote file attributes. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:42 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error-members.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error-members.html
deleted file mode 100644
index 3559d955169..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error-members.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshError::Error Member List</h1>This is the complete list of members for <a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>channel</b> (defined in <a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a>)</td><td><a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>errorStr</b> (defined in <a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a>)</td><td><a class="el" href="structNe7sshError_1_1Error.html">Ne7sshError::Error</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error.html
deleted file mode 100644
index 68d10d26fc2..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshError_1_1Error.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7sshError::Error Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="classNe7sshError.html">Ne7sshError</a>::<a class="el" href="structNe7sshError_1_1Error.html">Error</a>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshError::Error Struct Reference</h1><!-- doxytag: class="Ne7sshError::Error" -->
-<p>
-<a href="structNe7sshError_1_1Error-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f73f3b8dc04adafeb40e7d0d48542e81"></a><!-- doxytag: member="Ne7sshError::Error::channel" ref="f73f3b8dc04adafeb40e7d0d48542e81" args="" -->
-int32&nbsp;</td><td class="memItemRight" valign="bottom"><b>channel</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68d072f6c4fe468fa454e80b48c9af8e"></a><!-- doxytag: member="Ne7sshError::Error::errorStr" ref="68d072f6c4fe468fa454e80b48c9af8e" args="" -->
-char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>errorStr</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Structure for storing error messages. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="ne7ssh__error_8h_source.html">ne7ssh_error.h</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:43 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile-members.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile-members.html
deleted file mode 100644
index 20e6d888085..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile-members.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftp::sftpFile Member List</h1>This is the complete list of members for <a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>fileID</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handle</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handleLen</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFile.html">Ne7sshSftp::sftpFile</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile.html
deleted file mode 100644
index 56bf1b2af5f..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFile.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7sshSftp::sftpFile Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>::<a class="el" href="structNe7sshSftp_1_1sftpFile.html">sftpFile</a>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftp::sftpFile Struct Reference</h1><!-- doxytag: class="Ne7sshSftp::sftpFile" -->
-<p>
-<a href="structNe7sshSftp_1_1sftpFile-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a31e7aedfc029054c68fef50f7c52a7"></a><!-- doxytag: member="Ne7sshSftp::sftpFile::fileID" ref="8a31e7aedfc029054c68fef50f7c52a7" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>fileID</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab6d6ac9295941d404224c86bd24cc93"></a><!-- doxytag: member="Ne7sshSftp::sftpFile::handleLen" ref="ab6d6ac9295941d404224c86bd24cc93" args="" -->
-uint16&nbsp;</td><td class="memItemRight" valign="bottom"><b>handleLen</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1a1ef9cfd2051e03e7ecac4ebbc62438"></a><!-- doxytag: member="Ne7sshSftp::sftpFile::handle" ref="1a1ef9cfd2051e03e7ecac4ebbc62438" args="[256]" -->
-char&nbsp;</td><td class="memItemRight" valign="bottom"><b>handle</b> [256]</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Structure used to store open rmote file. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="ne7ssh__sftp_8h_source.html">ne7ssh_sftp.h</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs-members.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs-members.html
deleted file mode 100644
index d3c995b9ee5..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs-members.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftp::sftpFileAttrs Member List</h1>This is the complete list of members for <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>atime</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>flags</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>group</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mtime</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>owner</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>permissions</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size</b> (defined in <a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a>)</td><td><a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">Ne7sshSftp::sftpFileAttrs</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs.html b/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs.html
deleted file mode 100644
index 53311c50173..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structNe7sshSftp_1_1sftpFileAttrs.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Ne7sshSftp::sftpFileAttrs Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-  <div class="navpath"><a class="el" href="classNe7sshSftp.html">Ne7sshSftp</a>::<a class="el" href="structNe7sshSftp_1_1sftpFileAttrs.html">sftpFileAttrs</a>
-  </div>
-</div>
-<div class="contents">
-<h1>Ne7sshSftp::sftpFileAttrs Struct Reference</h1><!-- doxytag: class="Ne7sshSftp::sftpFileAttrs" -->
-<p>
-<a href="structNe7sshSftp_1_1sftpFileAttrs-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df2fc2bafec347b83b96f6b616250d67"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::flags" ref="df2fc2bafec347b83b96f6b616250d67" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>flags</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dea58890815f577eebbd83987092ac52"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::size" ref="dea58890815f577eebbd83987092ac52" args="" -->
-uint64&nbsp;</td><td class="memItemRight" valign="bottom"><b>size</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de8ca58e3d051965d5752b8c522b19aa"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::owner" ref="de8ca58e3d051965d5752b8c522b19aa" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>owner</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6844cf705084659c06b4dbb1e0faaf1"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::group" ref="e6844cf705084659c06b4dbb1e0faaf1" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>group</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e50b366718477d69102fa122947576f7"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::permissions" ref="e50b366718477d69102fa122947576f7" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>permissions</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="984dece112662c08bde360b495eb8b22"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::atime" ref="984dece112662c08bde360b495eb8b22" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>atime</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fabc799feea7f6de75f7c11a7c1743db"></a><!-- doxytag: member="Ne7sshSftp::sftpFileAttrs::mtime" ref="fabc799feea7f6de75f7c11a7c1743db" args="" -->
-uint32&nbsp;</td><td class="memItemRight" valign="bottom"><b>mtime</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Structure used to store rmote file attributes. <hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="ne7ssh__sftp_8h_source.html">ne7ssh_sftp.h</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:44 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct-members.html b/src/libs/3rdparty/net7ssh/doc/html/structconnStruct-members.html
deleted file mode 100644
index 2e63c113e16..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct-members.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>connStruct Member List</h1>This is the complete list of members for <a class="el" href="structconnStruct.html">connStruct</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="structconnStruct.html#01d270542f5e0a2dfad63ca1d7caf456">conns</a></td><td><a class="el" href="structconnStruct.html">connStruct</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="structconnStruct.html#bbe7a947bb4097abe13bc1ba74ecaf9b">count</a></td><td><a class="el" href="structconnStruct.html">connStruct</a></td><td></td></tr>
-</table></div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct.html b/src/libs/3rdparty/net7ssh/doc/html/structconnStruct.html
deleted file mode 100644
index 9f9cdd92109..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>ne7ssh.kdevelop: connStruct Struct Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css">
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.9 -->
-<div class="navigation" id="top">
-  <div class="tabs">
-    <ul>
-      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
-      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
-      <li><a href="files.html"><span>Files</span></a></li>
-      <li><a href="dirs.html"><span>Directories</span></a></li>
-    </ul>
-  </div>
-  <div class="tabs">
-    <ul>
-      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
-      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
-      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
-    </ul>
-  </div>
-</div>
-<div class="contents">
-<h1>connStruct Struct Reference</h1><!-- doxytag: class="connStruct" --><code>#include &lt;<a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a>&gt;</code>
-<p>
-<div class="dynheader">
-Collaboration diagram for connStruct:</div>
-<div class="dynsection">
-<p><center><img src="structconnStruct__coll__graph.png" border="0" usemap="#connStruct__coll__map" alt="Collaboration graph"></center>
-<map name="connStruct__coll__map">
-<area shape="rect" href="classne7ssh__connection.html" title="ne7ssh_connection" alt="" coords="268,329,412,356"><area shape="rect" href="classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="443,137,565,164"><area shape="rect" href="classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="479,233,575,260"><area shape="rect" href="classne7ssh__string.html" title="ne7ssh_string" alt="" coords="504,7,613,33"><area shape="rect" href="classne7ssh__session.html" title="ne7ssh_session" alt="" coords="135,7,257,33"><area shape="rect" href="classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="8,137,115,164"><area shape="rect" href="classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="189,137,323,164"><area shape="rect" href="structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="716,137,863,164"><area shape="rect" href="structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="887,137,1065,164"></map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
-
-<p>
-<a href="structconnStruct-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconnStruct.html#01d270542f5e0a2dfad63ca1d7caf456">conns</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structconnStruct.html#bbe7a947bb4097abe13bc1ba74ecaf9b">count</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Structure used to store connections. Used to better sync with selectThread. <hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="01d270542f5e0a2dfad63ca1d7caf456"></a><!-- doxytag: member="connStruct::conns" ref="01d270542f5e0a2dfad63ca1d7caf456" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classne7ssh__connection.html">ne7ssh_connection</a>** <a class="el" href="structconnStruct.html#01d270542f5e0a2dfad63ca1d7caf456">connStruct::conns</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pointer to all active connections. 
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00293">ne7ssh::connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">ne7ssh::connectWithPassword()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00063">ne7ssh::ne7ssh()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00146">ne7ssh::selectThread()</a>.</p>
-
-</div>
-</div><p>
-<a class="anchor" name="bbe7a947bb4097abe13bc1ba74ecaf9b"></a><!-- doxytag: member="connStruct::count" ref="bbe7a947bb4097abe13bc1ba74ecaf9b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">uint32 <a class="el" href="structconnStruct.html#bbe7a947bb4097abe13bc1ba74ecaf9b">connStruct::count</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Active connection count. 
-<p>Referenced by <a class="el" href="ne7ssh_8cpp_source.html#l00293">ne7ssh::connectWithKey()</a>, <a class="el" href="ne7ssh_8cpp_source.html#l00242">ne7ssh::connectWithPassword()</a>, and <a class="el" href="ne7ssh_8cpp_source.html#l00063">ne7ssh::ne7ssh()</a>.</p>
-
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="ne7ssh_8h_source.html">ne7ssh.h</a></ul>
-</div>
-<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 5 14:10:41 2009 for ne7ssh.kdevelop by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
-</body>
-</html>
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.map b/src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.map
deleted file mode 100644
index 62000438186..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.map
+++ /dev/null
@@ -1,9 +0,0 @@
-<area shape="rect" href="$classne7ssh__connection.html" title="ne7ssh_connection" alt="" coords="268,329,412,356">
-<area shape="rect" href="$classne7ssh__channel.html" title="ne7ssh_channel" alt="" coords="443,137,565,164">
-<area shape="rect" href="$classNe7sshSftp.html" title="Ne7sshSftp" alt="" coords="479,233,575,260">
-<area shape="rect" href="$classne7ssh__string.html" title="ne7ssh_string" alt="" coords="504,7,613,33">
-<area shape="rect" href="$classne7ssh__session.html" title="ne7ssh_session" alt="" coords="135,7,257,33">
-<area shape="rect" href="$classne7ssh__crypt.html" title="ne7ssh_crypt" alt="" coords="8,137,115,164">
-<area shape="rect" href="$classne7ssh__transport.html" title="ne7ssh_transport" alt="" coords="189,137,323,164">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFile.html" title="Ne7sshSftp::sftpFile" alt="" coords="716,137,863,164">
-<area shape="rect" href="$structNe7sshSftp_1_1sftpFileAttrs.html" title="Ne7sshSftp::sftpFileAttrs" alt="" coords="887,137,1065,164">
diff --git a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.md5 b/src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.md5
deleted file mode 100644
index f812527dcfe..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/structconnStruct__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-a70c5341fda0905a1c68e9544e7ad27d
\ No newline at end of file
diff --git a/src/libs/3rdparty/net7ssh/doc/html/tabs.css b/src/libs/3rdparty/net7ssh/doc/html/tabs.css
deleted file mode 100644
index ab02c624aff..00000000000
--- a/src/libs/3rdparty/net7ssh/doc/html/tabs.css
+++ /dev/null
@@ -1,105 +0,0 @@
-/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
-
-DIV.tabs
-{
-   float            : left;
-   width            : 100%;
-   background       : url("tab_b.gif") repeat-x bottom;
-   margin-bottom    : 4px;
-}
-
-DIV.tabs UL
-{
-   margin           : 0px;
-   padding-left     : 10px;
-   list-style       : none;
-}
-
-DIV.tabs LI, DIV.tabs FORM
-{
-   display          : inline;
-   margin           : 0px;
-   padding          : 0px;
-}
-
-DIV.tabs FORM
-{
-   float            : right;
-}
-
-DIV.tabs A
-{
-   float            : left;
-   background       : url("tab_r.gif") no-repeat right top;
-   border-bottom    : 1px solid #84B0C7;
-   font-size        : 80%;
-   font-weight      : bold;
-   text-decoration  : none;
-}
-
-DIV.tabs A:hover
-{
-   background-position: 100% -150px;
-}
-
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
-       color: #1A419D;
-}
-
-DIV.tabs SPAN
-{
-   float            : left;
-   display          : block;
-   background       : url("tab_l.gif") no-repeat left top;
-   padding          : 5px 9px;
-   white-space      : nowrap;
-}
-
-DIV.tabs INPUT
-{
-   float            : right;
-   display          : inline;
-   font-size        : 1em;
-}
-
-DIV.tabs TD
-{
-   font-size        : 80%;
-   font-weight      : bold;
-   text-decoration  : none;
-}
-
-
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-DIV.tabs SPAN {float : none;}
-/* End IE5-Mac hack */
-
-DIV.tabs A:hover SPAN
-{
-   background-position: 0% -150px;
-}
-
-DIV.tabs LI.current A
-{
-   background-position: 100% -150px;
-   border-width     : 0px;
-}
-
-DIV.tabs LI.current SPAN
-{
-   background-position: 0% -150px;
-   padding-bottom   : 6px;
-}
-
-DIV.navpath
-{
-   background       : none;
-   border           : none;
-   border-bottom    : 1px solid #84B0C7;
-   text-align       : center;
-   margin           : 2px;
-   padding          : 2px;
-}
diff --git a/src/libs/3rdparty/net7ssh/examples/generateKeys.cpp b/src/libs/3rdparty/net7ssh/examples/generateKeys.cpp
deleted file mode 100644
index c5c0d70cbc0..00000000000
--- a/src/libs/3rdparty/net7ssh/examples/generateKeys.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/* An example of ne7ssh library usage. This code will generate a DSA key pair
-   and store private key in ./privKeyFile and public key in ./pubKeyFile.
-
-   If you are testing this with later openssh versions, make sure to add this
-   option to your server's configuration file to enable password authentication:
-
-   PasswordAuthentication yes
-*/
-
-#include <ne7ssh.h>
-
-int main(int argc,char *argv[])
-{
-   ne7ssh *_ssh = new ne7ssh();
-
-    // Generating DSA keys
-    if (!_ssh->generateKeyPair ("rsa", "test@test.com", "./privKeyFile", "./pubKeyFile", 2048))
-    {
-        const char *errmsg = _ssh->errors()->pop();
-
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Key gneration failed with last error: %s.\n\n", errmsg);
-    }
-
-    delete _ssh;
-    return EXIT_SUCCESS;
-}
diff --git a/src/libs/3rdparty/net7ssh/examples/getFile.cpp b/src/libs/3rdparty/net7ssh/examples/getFile.cpp
deleted file mode 100644
index 926e31ca2cf..00000000000
--- a/src/libs/3rdparty/net7ssh/examples/getFile.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/* An example of ne7ssh library usage. Please change the values in connectWithPassword
-function before compiling.
-
-This will work with on a unix/linux server with cat utility.
-
-If you are testing this with later openssh versions, make sure to add this
-option to your server's configuration file to enable password authentication:
-
-PasswordAuthentication yes
-*/
-
-#include <ne7ssh.h>
-
-int main(int argc,char *argv[])
-{
-    int channel1;
-    const char* result;
-    ne7ssh *_ssh = new ne7ssh();
-    int filesize = 0;
-    FILE *testFi;
-
-    // Set SSH connection options.
-    _ssh->setOptions ("aes256-cbc", "hmac-md5");
-
-    // Initiate connection without starting a remote shell.
-    channel1 = _ssh->connectWithPassword ("remote-server", 22, "remoteUser", "password", 0);
-    if (channel1 < 0)
-    {
-        const char *errmsg = _ssh->errors()->pop();
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Connection failed with last error: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // cat the remote file, works only on Unix systems. You may need to sepcifiy full path to cat.
-    // Timeout after 100 seconds.
-
-    if (!_ssh->sendCmd ("cat ~/test.bin", channel1, 100))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Command failed with last error: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Determine the size of received file.
-    filesize = _ssh->getReceivedSize(channel1);
-
-    // Open a local file.
-    testFi = fopen ("./test.bin", "wb");
-
-    // Write binary data from the receive buffer to the opened file.
-    if (!fwrite (_ssh->readBinary(channel1), (size_t) filesize, 1, testFi))
-    {
-        printf ("Error Writting to file\n\n");
-        return EXIT_FAILURE;
-    }
-
-    // Close the files.
-    fclose (testFi);
-
-    // Destroy the instance.
-    delete _ssh;
-
-    return EXIT_SUCCESS;
-}
diff --git a/src/libs/3rdparty/net7ssh/examples/keyAuth.cpp b/src/libs/3rdparty/net7ssh/examples/keyAuth.cpp
deleted file mode 100644
index e12fc120697..00000000000
--- a/src/libs/3rdparty/net7ssh/examples/keyAuth.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/* An example of ne7ssh library usage. Please change the values in connectWitKeys
-   function before compiling.
-
-   This will work with openssh server if default shell of authenticating user is bash.
-   When using a different shell or custom prompt replace " $" string in waitFor()
-   method with a string corresponding with your shell prompt.
-
-   If you are testing this with later openssh versions, make sure to add this
-   option to your server's configuration file to enable password authentication:
-
-   PasswordAuthentication yes
-*/
-
-#include <ne7ssh.h>
-
-int main(int argc,char *argv[])
-{
-    int channel1;
-    const char* result;
-    ne7ssh *_ssh = new ne7ssh();
-
-    // Set SSH connection options.
-    _ssh->setOptions ("aes128-cbc", "hmac-sha1");
-
-    // Initiate connection.
-    channel1 = _ssh->connectWithKey ("remoteHost", 22, "remoteUsr", "/local/path/to/privKeyFile");
-    if (channel1 < 0)
-    {
-        const char *errmsg = _ssh->errors()->pop();
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Connection failed with last error: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Wait for bash prompt, or die in 5 seconds.
-    if (!_ssh->waitFor (channel1, "$", 5))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Failed while waiting for remote shell wiht last error: %s\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Send "ls" command.
-    if (!_ssh->send ("ls\n", channel1))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not send the command. Last error: %s\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Wait for bash prompt, or die in 5 seconds
-    if (!_ssh->waitFor (channel1, "$", 5))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Timeout while waiting for remote site.Last error: %s\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Fetch recieved data.
-    result = _ssh->read (channel1);
-
-    if (!result)
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("No data received. Last error: %s\n\n", errmsg);
-    }
-    else
-        printf ("Received data:\n %s\n", result);
-
-    // Terminate connection by sending "exit" command.
-    _ssh->send ("exit\n", channel1);
-
-    // Destroy the instance.
-    delete _ssh;
-    return EXIT_SUCCESS;
-}
diff --git a/src/libs/3rdparty/net7ssh/examples/multipleThreads.cpp b/src/libs/3rdparty/net7ssh/examples/multipleThreads.cpp
deleted file mode 100644
index 5cb68649eca..00000000000
--- a/src/libs/3rdparty/net7ssh/examples/multipleThreads.cpp
+++ /dev/null
@@ -1,345 +0,0 @@
-/* An example of ne7ssh library usage. Please change the values in connectWithPassword
-   function before compiling.
-
-   This will work with openssh server if default shell of authenticating user is bash.
-   When using a different shell or custom prompt replace " $" string in waitFor()
-   method with a string corresponding with your shell prompt.
-
-   If you are testing this with later openssh versions, make sure to add this
-   option to your server's configuration file to enable password authentication:
-
-   PasswordAuthentication yes
-*/
-#include <string.h>
-#include <ne7ssh.h>
-
-#if defined(WIN32) || defined (__MINGW32__)
-#   include <windows.h>
-typedef HANDLE pthread_t;
-#endif
-
-void* thread1_proc (void* initData);
-void* thread2_proc (void* initData);
-void* thread3_proc (void* initData);
-void* thread4_proc (void* initData);
-pthread_t thread1, thread2, thread3, thread4;
-
-struct ssh_thrarg_t
-{
-    ne7ssh *ssh;
-    int thrid;
-};
-
-int main(int argc,char *argv[])
-{
-    ne7ssh *_ssh = new ne7ssh();
-    int status;
-
-    // Set SSH connection options.
-    _ssh->setOptions ("aes128-cbc", "hmac-md5");
-
-    ssh_thrarg_t args[4];
-    args[0].ssh = _ssh;
-    args[1].ssh = _ssh;
-    args[2].ssh = _ssh;
-    args[3].ssh = _ssh;
-
-    args[0].thrid = 1;
-    args[1].thrid = 2;
-    args[2].thrid = 3;
-    args[3].thrid = 4;
-
-#if !defined(WIN32) && !defined(__MINGW32__)
-    status = pthread_create (&thread1, NULL, thread1_proc, (void*)&args[0]);
-    status = pthread_create (&thread2, NULL, thread2_proc, (void*)&args[1]);
-    status = pthread_create (&thread3, NULL, thread3_proc, (void*)&args[2]);
-    status = pthread_create (&thread4, NULL, thread4_proc, (void*)&args[3]);
-    pthread_join (thread1, NULL);
-    pthread_join (thread2, NULL);
-    pthread_join (thread3, NULL);
-    pthread_join (thread4, NULL);
-
-#else
-    HANDLE h[3];
-    if ((thread1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) thread1_proc, (LPVOID)&args[0], 0, NULL)) == NULL)
-    {
-        ne7ssh::errors()->push (-1, "Failure creating new thread.");
-        return (EXIT_FAILURE);
-    }
-    if ((thread2 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) thread2_proc, (LPVOID)&args[1], 0, NULL)) == NULL)
-    {
-        ne7ssh::errors()->push (-1, "Failure creating new thread.");
-        return (EXIT_FAILURE);
-    }
-    if ((thread3 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) thread3_proc, (LPVOID)&args[2], 0, NULL)) == NULL)
-    {
-        ne7ssh::errors()->push (-1, "Failure creating new thread.");
-        return (EXIT_FAILURE);
-    }
-    if ((thread4 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) thread4_proc, (LPVOID)&args[3], 0, NULL)) == NULL)
-    {
-        ne7ssh::errors()->push (-1, "Failure creating new thread.");
-        return (EXIT_FAILURE);
-    }
-    h[0] = thread1;
-    h[1] = thread2;
-    h[2] = thread3;
-    h[3] = thread4;
-    WaitForMultipleObjects(4, h, TRUE, INFINITE);
-#endif
-
-    delete _ssh;
-    return EXIT_SUCCESS;
-}
-
-
-void* thread1_proc (void* initData)
-{
-    int channel1, i;
-    const char* result;
-    ne7ssh *_ssh = ((ssh_thrarg_t*) initData)->ssh;
-    int thrid = ((ssh_thrarg_t*) initData)->thrid;
-
-    for (i = 0; i < 50; i++)
-    {
-        // Initiate a connection.
-        channel1 = _ssh->connectWithPassword ("remoteHost", 22, "remoteUsr", "password", true, 30);
-        if (channel1 < 0)
-        {
-            const char *errmsg = _ssh->errors()->pop();
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Thread1. Connection failed with last error: %s\n\n", errmsg);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds.
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Failed while waiting for remote shell wiht last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Send "ls" command.
-        if (!_ssh->send ("ls -al\n", channel1))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Could not send the command. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Timeout while waiting for remote site. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Fetch recieved data.
-        result = _ssh->read (channel1);
-        printf ("Data Thread %i: %s\n\n", thrid, result);
-
-        // Close the connection.
-        _ssh->send ("exit\n", channel1);
-    }
-}
-
-void* thread2_proc (void* initData)
-{
-    int channel1, i;
-    const char* result;
-    ne7ssh *_ssh = ((ssh_thrarg_t*) initData)->ssh;
-    int thrid = ((ssh_thrarg_t*) initData)->thrid;
-
-    for (i = 0; i < 50; i++)
-    {
-        // Initiate a connection.
-        channel1 = _ssh->connectWithPassword ("remoteHost", 22, "remoteUsr", "password", true, 30);
-        if (channel1 < 0)
-        {
-            const char *errmsg = _ssh->errors()->pop();
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Thread2. Connection failed with last error: %s\n\n", errmsg);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds.
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Failed while waiting for remote shell wiht last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-        result = _ssh->read (channel1);
-
-        printf ("Data Count: %i, Thread %i: %s\n\n", i, thrid, result);
-
-        // Send "ls" command.
-        if (!_ssh->send ("ls\n", channel1))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Could not send the command. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Timeout while waiting for remote site. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Fetch recieved data.
-        result = _ssh->read (channel1);
-        printf ("Data Count: %i, Thread %i: %s\n\n", i, thrid, result);
-
-        // Close the connection.
-        _ssh->send ("exit\n", channel1);
-    }
-}
-
-void* thread3_proc (void* initData)
-{
-    int channel1, i;
-    const char* result;
-    ne7ssh *_ssh = ((ssh_thrarg_t*) initData)->ssh;
-    int thrid = ((ssh_thrarg_t*) initData)->thrid;
-
-    for (i = 0; i < 50; i++)
-    {
-        // Initiate a connection.
-        channel1 = _ssh->connectWithPassword ("remoteHost", 22, "remoteUsr", "password", true, 30);
-        if (channel1 < 0)
-        {
-            const char *errmsg = _ssh->errors()->pop();
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Thread3. Connection failed with last error: %s\n\n", errmsg);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds.
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Failed while waiting for remote shell wiht last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Send "ls" command.
-        if (!_ssh->send ("ls\n", channel1))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Could not send the command. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Timeout while waiting for remote site. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Fetch recieved data.
-        result = _ssh->read (channel1);
-        printf ("Data Thread %i: %s\n\n", thrid, result);
-
-        // Close the connection.
-        _ssh->send ("exit\n", channel1);
-    }
-}
-
-void* thread4_proc (void* initData)
-{
-    int channel1, i;
-    const char* result;
-    ne7ssh *_ssh = ((ssh_thrarg_t*) initData)->ssh;
-    int thrid = ((ssh_thrarg_t*) initData)->thrid;
-
-    for (i = 0; i < 50; i++)
-    {
-        // Initiate a connection.
-        channel1 = _ssh->connectWithPassword ("remoteHost", 22, "remoteUsr", "password", true, 30);
-        if (channel1 < 0)
-        {
-            const char *errmsg = _ssh->errors()->pop();
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Thread4. Connection failed with last error: %s\n\n", errmsg);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds.
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Failed while waiting for remote shell wiht last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Send "ls" command.
-        if (!_ssh->send ("ls\n", channel1))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Could not send the command. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Wait for bash prompt, or die in 5 seconds
-        if (!_ssh->waitFor (channel1, " $", 5))
-        {
-            const char *errmsg = _ssh->errors()->pop(channel1);
-            if (errmsg == NULL)
-                errmsg = "<null>";
-            printf ("Timeout while waiting for remote site. Last error: %s\n\n", errmsg);
-            _ssh->close(channel1);
-            continue;
-        }
-
-        // Fetch recieved data.
-        result = _ssh->read (channel1);
-        printf ("Data Thread %i: %s\n\n", thrid, result);
-
-        // Close the connection.
-        _ssh->send ("exit\n", channel1);
-    }
-}
diff --git a/src/libs/3rdparty/net7ssh/examples/passwordAuth.cpp b/src/libs/3rdparty/net7ssh/examples/passwordAuth.cpp
deleted file mode 100644
index d45e8a472d0..00000000000
--- a/src/libs/3rdparty/net7ssh/examples/passwordAuth.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/* An example of ne7ssh library usage. Please change the values in connectWithPassword
-   function before compiling.
-
-   This will work with openssh server if default shell of authenticating user is bash.
-   When using a different shell or custom prompt replace " $" string in waitFor()
-   method with a string corresponding with your shell prompt.
-
-   If you are testing this with later openssh versions, make sure to add this
-   option to your server's configuration file to enable password authentication:
-
-   PasswordAuthentication yes
-*/
-
-#include <ne7ssh.h>
-
-int main(int argc,char *argv[])
-{
-    int channel1, i;
-    const char* result;
-    ne7ssh *_ssh = new ne7ssh();
-
-    // Set SSH connection options.
-    _ssh->setOptions ("aes192-cbc", "hmac-md5");
-
-    // Initiate connection.
-    channel1 = _ssh->connectWithPassword ("remoteHost", 22, "remtoeUsr", "password");
-    if (channel1 < 0)
-    {
-        const char *errmsg = _ssh->errors()->pop();
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Connection failed with last error: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Wait for bash prompt, or die in 5 seconds.
-    if (!_ssh->waitFor (channel1, " $", 5))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Failed while waiting for remote shell with last error: %s.\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Send "ps ax" command.
-    if (!_ssh->send ("ps ax\n", channel1))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not send the command. Last error: %s.\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Wait for bash prompt, or die in 5 seconds
-    if (!_ssh->waitFor (channel1, " $", 5))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Timeout while waiting for remote site.Last error: %s.\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Fetch recieved data.
-    result = _ssh->read (channel1);
-
-    if (!result)
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("No data received. Last error: %s.\n\n", errmsg);
-    }
-    else
-        printf ("Received data:\n %s\n", result);
-
-    // Send "netstat -na" command.
-    if (!_ssh->send ("netstat -na\n", channel1))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not send the command. Last error: %s.\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Wait for bash prompt, or die in 5 seconds
-    if (!_ssh->waitFor (channel1, " $", 5))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Timeout while waiting for remote site.Last error: %s.\n\n", errmsg);
-        _ssh->close(channel1);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Fetch recieved data.
-    result = _ssh->read (channel1);
-
-    if (!result)
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("No data received. Last error: %s.\n\n", errmsg);
-    }
-    else
-        printf ("Received data:\n %s\n", result);
-    // Terminate connection by sending "exit" command.
-    _ssh->send ("exit\n", channel1);
-
-    // Destroy the instance.
-    delete _ssh;
-    return EXIT_SUCCESS;
-}
diff --git a/src/libs/3rdparty/net7ssh/examples/sftpExample.cpp b/src/libs/3rdparty/net7ssh/examples/sftpExample.cpp
deleted file mode 100644
index c73a9920806..00000000000
--- a/src/libs/3rdparty/net7ssh/examples/sftpExample.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/* An example of ne7ssh library usage. Please change the values in connectWithPassword
-   function before compiling.
-
-   If you are testing this with later openssh versions, make sure to add this
-   option to your server's configuration file to enable password authentication:
-
-   PasswordAuthentication yes
-*/
-
-#include <ne7ssh.h>
-
-int main(int argc,char *argv[])
-{
-    int channel1;
-    const char* result;
-    ne7ssh *_ssh = new ne7ssh();
-    int filesize = 0;
-    FILE *testFi;
-    Ne7SftpSubsystem _sftp;
-    const char* dirList;
-
-    // Set SSH connection options.
-    _ssh->setOptions ("aes256-cbc", "hmac-md5");
-
-    // Initiate connection without starting a remote shell.
-    channel1 = _ssh->connectWithPassword ("remoteHost", 22, "remoteUsr", "password", 0, 20);
-    if (channel1 < 0)
-    {
-        const char *errmsg = _ssh->errors()->pop();
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Connection failed with last error: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Initiate SFTP subsystem.
-    if (!_ssh->initSftp (_sftp, channel1))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Command failed with last error: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Set a timeout for all SFTP communications.
-    _sftp.setTimeout (30);
-
-    // Check remote file permissions.
-    Ne7SftpSubsystem::fileAttrs attrs;
-    if (_sftp.getFileAttrs (attrs, "test.bin", true))
-        printf ("Permissions: %o\n", (attrs.permissions & 0777));
-
-    // Create a local file.
-    testFi = fopen ("test.bin", "wb+");
-    if (!testFi)
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not open local file: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Download a file.
-    if (!_sftp.get ("test.bin", testFi))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not get File: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Change directory.
-    if (!_sftp.cd ("testing"))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not change Directory: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Upload the file.
-    if (!_sftp.put (testFi, "test2.bin"))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not put File: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Create a new directory.
-    if (!_sftp.mkdir ("testing3"))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not create Directory: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Get listing.
-    dirList = _sftp.ls (".", true);
-    if (!dirList)
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not list Directory: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-    else
-        printf ("Directory Listing:\n\n %s\n", dirList);
-
-    // Change permisions on newly uploaded file.
-    if (!_sftp.chmod ("test2.bin", "755"))
-    {
-        const char *errmsg = _ssh->errors()->pop(channel1);
-        if (errmsg == NULL)
-            errmsg = "<null>";
-        printf ("Could not chmod: %s\n\n", errmsg);
-        delete _ssh;
-        return EXIT_FAILURE;
-    }
-
-    // Destroy the instance.
-    delete _ssh;
-
-    return EXIT_SUCCESS;
-}
diff --git a/src/libs/3rdparty/net7ssh/net7ssh.pri b/src/libs/3rdparty/net7ssh/net7ssh.pri
deleted file mode 100644
index 6389d249ad4..00000000000
--- a/src/libs/3rdparty/net7ssh/net7ssh.pri
+++ /dev/null
@@ -1,3 +0,0 @@
-include(net7ssh_dependencies.pri)
-INCLUDEPATH *= $$PWD/src
-LIBS *= -l$$qtLibraryTarget(Net7ssh)
diff --git a/src/libs/3rdparty/net7ssh/net7ssh.pro b/src/libs/3rdparty/net7ssh/net7ssh.pro
deleted file mode 100644
index 862d64135dd..00000000000
--- a/src/libs/3rdparty/net7ssh/net7ssh.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-TEMPLATE = subdirs
-CONFIG  += ordered
-
-SUBDIRS += src
diff --git a/src/libs/3rdparty/net7ssh/net7ssh_dependencies.pri b/src/libs/3rdparty/net7ssh/net7ssh_dependencies.pri
deleted file mode 100644
index d83ea3954d2..00000000000
--- a/src/libs/3rdparty/net7ssh/net7ssh_dependencies.pri
+++ /dev/null
@@ -1 +0,0 @@
-include(../botan/botan.pri)
diff --git a/src/libs/3rdparty/net7ssh/src/crypt.cpp b/src/libs/3rdparty/net7ssh/src/crypt.cpp
deleted file mode 100644
index b7f4e151f54..00000000000
--- a/src/libs/3rdparty/net7ssh/src/crypt.cpp
+++ /dev/null
@@ -1,786 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#if !defined WIN32 && !defined(__MINGW32__)
-#   include <arpa/inet.h>
-#endif
-
-#include <botan/libstate.h>
-#include "crypt.h"
-#include "ne7ssh_session.h"
-#include "ne7ssh.h"
-
-using namespace Botan;
-
-ne7ssh_crypt::ne7ssh_crypt(ne7ssh_session* _session) : session(_session), kexMethod(DH_GROUP1_SHA1), c2sCryptoMethod(AES128_CBC), s2cCryptoMethod(AES128_CBC), c2sMacMethod(HMAC_MD5), s2cMacMethod(HMAC_MD5), inited(false), encrypt(0), decrypt(0), compress(0), decompress(0), hmacOut(0), hmacIn(0), privKexKey(0), encryptBlock(0), decryptBlock(0)
-{
-}
-
-
-ne7ssh_crypt::~ne7ssh_crypt()
-{
-  if (encrypt) delete encrypt;
-  if (decrypt) delete decrypt;
-
-  if (compress) delete compress;
-  if (decompress) delete decompress;
-
-  if (hmacOut) delete hmacOut;
-  if (hmacIn) delete hmacIn;
-
-  if (privKexKey) delete privKexKey;
-}
-
-
-bool ne7ssh_crypt::agree (Botan::SecureVector<Botan::byte> &result, const char* local, Botan::SecureVector<Botan::byte> &remote)
-{
-  ne7ssh_string localAlgos (local, 0);
-  ne7ssh_string remoteAlgos (remote, 0);
-  char* localAlgo, *remoteAlgo;
-  bool match;
-  size_t len;
-
-  localAlgos.split (',');
-  localAlgos.resetParts();
-  remoteAlgos.split (',');
-  remoteAlgos.resetParts();
-
-  match = false;
-  while ((localAlgo = localAlgos.nextPart()))
-  {
-    len = strlen(localAlgo);
-    while ((remoteAlgo = remoteAlgos.nextPart()))
-    {
-      if (!memcmp (localAlgo, remoteAlgo, len))
-      {
-        match = true;
-        break;
-      }
-    }
-    if (match) break;
-    remoteAlgos.resetParts();
-  }
-  if (match)
-  {
-    result.set ((Botan::byte*)localAlgo, (uint32_t) len);
-    return true;
-  }
-  else
-  {
-    result.clear();
-    return false;
-  }
-}
-
-bool ne7ssh_crypt::negotiatedKex (Botan::SecureVector<Botan::byte> &kexAlgo)
-{
-  if (!memcmp (kexAlgo.begin(), "diffie-hellman-group1-sha1", kexAlgo.size()))
-  {
-    kexMethod = DH_GROUP1_SHA1;
-    return true;
-  }
-  else if (!memcmp (kexAlgo.begin(), "diffie-hellman-group14-sha1", kexAlgo.size()))
-  {
-    kexMethod = DH_GROUP14_SHA1;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "KEX algorithm: '%B' not defined.", &kexAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedHostkey (Botan::SecureVector<Botan::byte> &hostkeyAlgo)
-{
-  if (!memcmp (hostkeyAlgo.begin(), "ssh-dss", hostkeyAlgo.size()))
-  {
-    hostkeyMethod = SSH_DSS;
-    return true;
-  }
-  else if (!memcmp (hostkeyAlgo.begin(), "ssh-rsa", hostkeyAlgo.size()))
-  {
-    hostkeyMethod = SSH_RSA;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "Hostkey algorithm: '%B' not defined.", &hostkeyAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedCryptoC2s (Botan::SecureVector<Botan::byte> &cryptoAlgo)
-{
-  if (!memcmp (cryptoAlgo.begin(), "3des-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = TDES_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "aes128-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = AES128_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "aes192-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = AES192_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "aes256-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = AES256_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "blowfish-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = BLOWFISH_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "cast128-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = CAST128_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "twofish-cbc", cryptoAlgo.size()) || !memcmp (cryptoAlgo.begin(), "twofish256-cbc", cryptoAlgo.size()))
-  {
-    c2sCryptoMethod = TWOFISH_CBC;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "Cryptographic algorithm: '%B' not defined.", &cryptoAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedCryptoS2c (Botan::SecureVector<Botan::byte> &cryptoAlgo)
-{
-  if (!memcmp (cryptoAlgo.begin(), "3des-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = TDES_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "aes128-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = AES128_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "aes192-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = AES192_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "aes256-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = AES256_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "blowfish-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = BLOWFISH_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "cast128-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = CAST128_CBC;
-    return true;
-  }
-  else if (!memcmp (cryptoAlgo.begin(), "twofish-cbc", cryptoAlgo.size()) || !memcmp (cryptoAlgo.begin(), "twofish256-cbc", cryptoAlgo.size()))
-  {
-    s2cCryptoMethod = TWOFISH_CBC;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "Cryptographic method: '%B' not defined.", &cryptoAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedMacC2s (Botan::SecureVector<Botan::byte> &macAlgo)
-{
-  if (!memcmp (macAlgo.begin(), "hmac-sha1", macAlgo.size()))
-  {
-    c2sMacMethod = HMAC_SHA1;
-    return true;
-  }
-  else if (!memcmp (macAlgo.begin(), "hmac-md5", macAlgo.size()))
-  {
-    c2sMacMethod = HMAC_MD5;
-    return true;
-  }
-  else if (!memcmp (macAlgo.begin(), "none", macAlgo.size()))
-  {
-    c2sMacMethod = HMAC_NONE;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "HMAC algorithm: '%B' not defined.", &macAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedMacS2c (Botan::SecureVector<Botan::byte> &macAlgo)
-{
-  if (!memcmp (macAlgo.begin(), "hmac-sha1", macAlgo.size()))
-  {
-    s2cMacMethod = HMAC_SHA1;
-    return true;
-  }
-  else if (!memcmp (macAlgo.begin(), "hmac-md5", macAlgo.size()))
-  {
-    s2cMacMethod = HMAC_MD5;
-    return true;
-  }
-  else if (!memcmp (macAlgo.begin(), "none", macAlgo.size()))
-  {
-    s2cMacMethod = HMAC_NONE;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "HMAC algorithm: '%B' not defined.", &macAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedCmprsC2s (Botan::SecureVector<Botan::byte> &cmprsAlgo)
-{
-  if (!memcmp (cmprsAlgo.begin(), "none", cmprsAlgo.size()))
-  {
-    c2sCmprsMethod = NONE;
-    return true;
-  }
-  else if (!memcmp (cmprsAlgo.begin(), "zlib", cmprsAlgo.size()))
-  {
-    c2sCmprsMethod = ZLIB;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "Compression algorithm: '%B' not defined.", &cmprsAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::negotiatedCmprsS2c (Botan::SecureVector<Botan::byte> &cmprsAlgo)
-{
-  if (!memcmp (cmprsAlgo.begin(), "none", cmprsAlgo.size()))
-  {
-    s2cCmprsMethod = NONE;
-    return true;
-  }
-  else if (!memcmp (cmprsAlgo.begin(), "zlib", cmprsAlgo.size()))
-  {
-    s2cCmprsMethod = ZLIB;
-    return true;
-  }
-
-  ne7ssh::errors()->push (session->getSshChannel(), "Compression algorithm: '%B' not defined.", &cmprsAlgo);
-  return false;
-}
-
-bool ne7ssh_crypt::getKexPublic (Botan::BigInt &publicKey)
-{
-  switch (kexMethod)
-  {
-    case DH_GROUP1_SHA1:
-      return getDHGroup1Sha1Public (publicKey);
-
-    case DH_GROUP14_SHA1:
-      return getDHGroup14Sha1Public (publicKey);
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Undefined DH Group: '%s'.", kexMethod);
-      return false;
-  }
-}
-
-bool ne7ssh_crypt::computeH (Botan::SecureVector<Botan::byte> &result, Botan::SecureVector<Botan::byte> &val)
-{
-  HashFunction* hashIt;
-
-  switch (kexMethod)
-  {
-    case DH_GROUP1_SHA1:
-    case DH_GROUP14_SHA1:
-      hashIt = get_hash ("SHA-1");
-      break;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Undefined DH Group: '%s' while computing H.", kexMethod);
-      return false;
-  }
-
-  if (!hashIt) return false;
-  H = hashIt->process (val);
-  result.set (H);
-  delete (hashIt);
-  return true;
-}
-
-bool ne7ssh_crypt::verifySig (Botan::SecureVector<Botan::byte> &hostKey, Botan::SecureVector<Botan::byte> &sig)
-{
-  DSA_PublicKey *dsaKey = 0;
-	RSA_PublicKey *rsaKey = 0;
-  PK_Verifier *verifier;
-  ne7ssh_string signature (sig, 0);
-  SecureVector<Botan::byte> sigType, sigData;
-  bool result;
-
-  if (H.is_empty())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "H was not initialzed.");
-    return false;
-  }
-
-  if (!signature.getString (sigType))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Signature without type.");
-    return false;
-  }
-  if (!signature.getString (sigData))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Signature without data.");
-    return false;
-  }
-
-  switch (hostkeyMethod)
-  {
-    case SSH_DSS:
-      dsaKey = getDSAKey (hostKey);
-      if (!dsaKey)
-      {
-        ne7ssh::errors()->push (session->getSshChannel(), "DSA key not generated.");
-        return false;
-      }
-      break;
-
-    case SSH_RSA:
-      rsaKey = getRSAKey (hostKey);
-      if (!rsaKey)
-      {
-	ne7ssh::errors()->push (session->getSshChannel(), "RSA key not generated.");
-        return false;
-      }
-      break;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Hostkey algorithm: %i not supported.", hostkeyMethod);
-      return false;
-  }
-
-  switch (kexMethod)
-  {
-    case DH_GROUP1_SHA1:
-    case DH_GROUP14_SHA1:
-      if (dsaKey) verifier = get_pk_verifier (*dsaKey, "EMSA1(SHA-1)");
-      else if (rsaKey) verifier = get_pk_verifier (*rsaKey, "EMSA3(SHA-1)");
-      break;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Key Exchange algorithm: %i not supported.", kexMethod);
-      return false;
-  }
-
-  result = verifier->verify_message (H, sigData);
-  delete verifier;
-  if (dsaKey) delete dsaKey;
-  if (rsaKey) delete rsaKey;
-
-  if (!result)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failure to verify host signature.");
-    return false;
-  }
-  else return true;
-}
-
-DSA_PublicKey* ne7ssh_crypt::getDSAKey (Botan::SecureVector<Botan::byte> &hostKey)
-{
-  ne7ssh_string hKey;
-  SecureVector<Botan::byte> field;
-  BigInt p, q, g, y;
-  DSA_PublicKey *pubKey;
-
-  hKey.addVector (hostKey);
-
-  if (!hKey.getString (field)) return 0;
-  if (!negotiatedHostkey (field)) return 0;
-
-  if (!hKey.getBigInt (p)) return 0;
-  if (!hKey.getBigInt (q)) return 0;
-  if (!hKey.getBigInt (g)) return 0;
-  if (!hKey.getBigInt (y)) return 0;
-
-  DL_Group keyDL (p, q, g);
-  pubKey  = new DSA_PublicKey (keyDL, y);
-  return pubKey;
-}
-
-RSA_PublicKey* ne7ssh_crypt::getRSAKey (Botan::SecureVector<Botan::byte> &hostKey)
-{
-  ne7ssh_string hKey;
-  SecureVector<Botan::byte> field;
-  BigInt e, n;
-
-  hKey.addVector (hostKey);
-
-  if (!hKey.getString (field)) return 0;
-  if (!negotiatedHostkey (field)) return 0;
-
-  if (!hKey.getBigInt (e)) return 0;
-  if (!hKey.getBigInt (n)) return 0;
-
-  return (new RSA_PublicKey (n, e));
-}
-
-
-
-bool ne7ssh_crypt::makeKexSecret (Botan::SecureVector<Botan::byte> &result, Botan::BigInt &f)
-{
-  SymmetricKey negotiated = privKexKey->derive_key (f);
-  if (!negotiated.length()) return false;
-
-  BigInt Kint (negotiated.begin(), negotiated.length());
-  ne7ssh_string::bn2vector(result, Kint);
-  K.set (result);
-  delete privKexKey;
-  privKexKey = 0;
-  return true;
-}
-
-bool ne7ssh_crypt::getDHGroup1Sha1Public (Botan::BigInt &publicKey)
-{
-#if BOTAN_PRE_15
-  privKexKey = new DH_PrivateKey (get_dl_group("IETF-1024"));
-#elif BOTAN_PRE_18
-  privKexKey = new DH_PrivateKey (DL_Group("modp/ietf/1024"));
-#else
-  privKexKey = new DH_PrivateKey (*ne7ssh::rng, DL_Group("modp/ietf/1024"));
-#endif
-  DH_PublicKey pubKexKey = *privKexKey;
-
-  publicKey = pubKexKey.get_y();
-  if (publicKey.is_zero()) return false;
-  else return true;
-}
-
-bool ne7ssh_crypt::getDHGroup14Sha1Public (Botan::BigInt &publicKey)
-{
-#if BOTAN_PRE_15
-  privKexKey = new DH_PrivateKey (get_dl_group("IETF-2048"));
-#elif BOTAN_PRE_18
-  privKexKey = new DH_PrivateKey (DL_Group("modp/ietf/2048"));
-#else
-  privKexKey = new DH_PrivateKey (*ne7ssh::rng, DL_Group("modp/ietf/2048"));
-#endif
-  DH_PublicKey pubKexKey = *privKexKey;
-
-  publicKey = pubKexKey.get_y();
-  if (publicKey.is_zero()) return false;
-  else return true;
-}
-
-const char* ne7ssh_crypt::getHashAlgo ()
-{
-  switch (kexMethod)
-  {
-    case DH_GROUP1_SHA1:
-    case DH_GROUP14_SHA1:
-      return "SHA-1";
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "DH Group: %i was not defined.", kexMethod);
-      return 0;
-  }
-}
-
-const char* ne7ssh_crypt::getCryptAlgo (uint32 crypto)
-{
-  switch (crypto)
-  {
-    case TDES_CBC:
-      return "TripleDES";
-
-    case AES128_CBC:
-      return "AES-128";
-
-    case AES192_CBC:
-      return "AES-192";
-
-    case AES256_CBC:
-      return "AES-256";
-
-    case BLOWFISH_CBC:
-      return "Blowfish";
-
-    case CAST128_CBC:
-      return "CAST-128";
-
-    case TWOFISH_CBC:
-      return "Twofish";
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Cryptographic algorithm: %i was not defined.", crypto);
-      return 0;
-  }
-}
-
-const char* ne7ssh_crypt::getHmacAlgo (uint32 method)
-{
-  switch (method)
-  {
-    case HMAC_SHA1:
-      return "SHA-1";
-
-    case HMAC_MD5:
-      return "MD5";
-
-    case HMAC_NONE:
-      return 0;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "HMAC algorithm: %i was not defined.", method);
-      return 0;
-  }
-}
-
-uint32 ne7ssh_crypt::getMacKeyLen (uint32 method)
-{
-  switch (method)
-  {
-    case HMAC_SHA1:
-      return 20;
-
-    case HMAC_MD5:
-      return 16;
-
-    case HMAC_NONE:
-      return 0;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "HMAC algorithm: %i was not defined.", method);
-      return 0;
-  }
-}
-
-uint32 ne7ssh_crypt::getMacDigestLen (uint32 method)
-{
-  switch (method)
-  {
-    case HMAC_SHA1:
-      return 20;
-
-    case HMAC_MD5:
-      return 16;
-
-    case HMAC_NONE:
-      return 0;
-
-    default:
-      return 0;
-  }
-}
-
-bool ne7ssh_crypt::makeNewKeys ()
-{
-  const char* algo;
-  uint32 key_len, iv_len, macLen;
-  SecureVector<Botan::byte> key;
-#if !BOTAN_PRE_18 && !BOTAN_PRE_15
-  const Botan::BlockCipher *cipher;
-  const Botan::HashFunction *hash_algo;
-#endif
-
-  algo = getCryptAlgo (c2sCryptoMethod);
-  key_len = max_keylength_of (algo);
-  if (c2sCryptoMethod == BLOWFISH_CBC) key_len = 16;
-  else if (c2sCryptoMethod == TWOFISH_CBC) key_len = 32;
-  encryptBlock = iv_len = block_size_of (algo);
-  macLen = getMacKeyLen (c2sMacMethod);
-  if (!algo) return false;
-
-  if (!compute_key(key, 'A', iv_len)) return false;
-  InitializationVector c2s_iv (key);
-
-  if (!compute_key(key, 'C', key_len)) return false;
-  SymmetricKey c2s_key (key);
-
-  if (!compute_key(key, 'E', macLen)) return false;
-  SymmetricKey c2s_mac (key);
-
-#if BOTAN_PRE_18 && !BOTAN_PRE_15
-  encrypt = new Pipe (new CBC_Encryption (algo, "NoPadding", c2s_key, c2s_iv));
-#else
-  Algorithm_Factory &af = global_state().algorithm_factory();
-  cipher = af.prototype_block_cipher (algo);
-  encrypt = new Pipe (new CBC_Encryption (cipher->clone(), new Null_Padding, c2s_key, c2s_iv));
-#endif
-
-  if (macLen)
-  {
-#if BOTAN_PRE_18 && !BOTAN_PRE_15
-    hmacOut = new HMAC (getHmacAlgo(c2sMacMethod));
-#else
-    hash_algo = af.prototype_hash_function (getHmacAlgo (c2sMacMethod));
-    hmacOut = new HMAC (hash_algo->clone());
-#endif
-    hmacOut->set_key (c2s_mac);
-  }
-//  if (c2sCmprsMethod == ZLIB) compress = new Pipe (new Zlib_Compression(9));
-
-
-  algo = getCryptAlgo (s2cCryptoMethod);
-  key_len = max_keylength_of (algo);
-  if (s2cCryptoMethod == BLOWFISH_CBC) key_len = 16;
-  else if (s2cCryptoMethod == TWOFISH_CBC) key_len = 32;
-  decryptBlock = iv_len = block_size_of (algo);
-  macLen = getMacKeyLen (c2sMacMethod);
-  if (!algo) return false;
-
-  if (!compute_key(key, 'B', iv_len)) return false;
-  InitializationVector s2c_iv (key);
-
-  if (!compute_key(key, 'D', key_len)) return false;
-  SymmetricKey s2c_key (key);
-
-  if (!compute_key(key, 'F', macLen)) return false;
-  SymmetricKey s2c_mac (key);
-
-#if BOTAN_PRE_18 && !BOTAN_PRE_15
-  decrypt = new Pipe (new CBC_Decryption (algo, "NoPadding", s2c_key, s2c_iv));
-#else
-  cipher = af.prototype_block_cipher (algo);
-  decrypt = new Pipe (new CBC_Decryption (cipher->clone(), new Null_Padding, s2c_key, s2c_iv));
-#endif
-
-  if (macLen)
-  {
-#if BOTAN_PRE_18 && !BOTAN_PRE_15
-    hmacIn = new HMAC (getHmacAlgo(s2cMacMethod));
-#else
-    hash_algo = af.prototype_hash_function (getHmacAlgo (s2cMacMethod));
-    hmacIn = new HMAC (hash_algo->clone());
-#endif
-    hmacIn->set_key (s2c_mac);
-  }
-//  if (s2cCmprsMethod == ZLIB) decompress = new Pipe (new Zlib_Decompression);
-
-  inited = true;
-  return true;
-}
-
-bool ne7ssh_crypt::compute_key (Botan::SecureVector<Botan::byte>& key,  Botan::byte ID, uint32 nBytes)
-{
-  SecureVector<Botan::byte> hash, newKey;
-  ne7ssh_string hashBytes;
-  HashFunction* hashIt;
-  const char* algo = getHashAlgo();
-  uint32 len;
-
-  if (!algo) return false;
-  hashIt = get_hash (algo);
-  if (!hashIt)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Undefined HASH algorithm encountered while computing the key.");
-    return false;
-  }
-
-  hashBytes.addVectorField (K);
-  hashBytes.addVector (H);
-  hashBytes.addChar (ID);
-  hashBytes.addVector (session->getSessionID());
-
-  hash = hashIt->process (hashBytes.value());
-  newKey.set (hash);
-  len = newKey.size();
-
-  while (len < nBytes)
-  {
-    hashBytes.clear();
-    hashBytes.addVectorField (K);
-    hashBytes.addVector (H);
-    hashBytes.addVector (newKey);
-    hash = hashIt->process (hashBytes.value());
-    newKey.append (hash);
-    len = newKey.size();
-  }
-
-  key.set (newKey.begin(), nBytes);
-  delete (hashIt);
-  return true;
-}
-
-bool ne7ssh_crypt::encryptPacket (Botan::SecureVector<Botan::byte> &crypted, Botan::SecureVector<Botan::byte> &hmac, Botan::SecureVector<Botan::byte> &packet, uint32 seq)
-{
-  SecureVector<Botan::byte> macStr;
-  uint32 nSeq = (uint32)htonl (seq);
-
-  encrypt->start_msg();
-  encrypt->write (packet.begin(), packet.size());
-  encrypt->end_msg();
-//  encrypt->process_msg (packet);
-  crypted = encrypt->read_all (encrypt->message_count() - 1);
-
-  if (hmacOut)
-  {
-    macStr.set ((Botan::byte*)&nSeq, 4);
-    macStr.append (packet);
-    hmac = hmacOut->process (macStr);
-  }
-
-  return true;
-}
-
-bool ne7ssh_crypt::decryptPacket (Botan::SecureVector<Botan::byte> &decrypted, Botan::SecureVector<Botan::byte> &packet, uint32 len)
-{
-  uint32 pLen = packet.size();
-
-  if (len % decryptBlock) len = len + (len % decryptBlock);
-
-  if (len > pLen) len = pLen;
-
-  decrypt->process_msg (packet.begin(), len);
-  decrypted = decrypt->read_all (decrypt->message_count() - 1);
-
-  return true;
-}
-
-void ne7ssh_crypt::compressData (Botan::SecureVector<Botan::byte> &buffer)
-{
-  SecureVector<Botan::byte> tmpVar;
-  if (!compress) return;
-
-  tmpVar.swap (buffer);
-  compress->process_msg (tmpVar);
-  tmpVar = compress->read_all (compress->message_count() - 1);
-  buffer.set (tmpVar);
-}
-
-void ne7ssh_crypt::decompressData (Botan::SecureVector<Botan::byte> &buffer)
-{
-  SecureVector<Botan::byte> tmpVar;
-  if (!decompress) return;
-
-  tmpVar.swap (buffer);
-  decompress->process_msg (tmpVar);
-  tmpVar = decompress->read_all (compress->message_count() - 1);
-  buffer.set (tmpVar);
-}
-
-void ne7ssh_crypt::computeMac (Botan::SecureVector<Botan::byte> &hmac, Botan::SecureVector<Botan::byte> &packet, uint32 seq)
-{
-  SecureVector<Botan::byte> macStr;
-  uint32 nSeq = htonl (seq);
-
-  if (hmacIn)
-  {
-    macStr.set ((Botan::byte*)&nSeq, 4);
-    macStr.append (packet);
-    hmac = hmacIn->process (macStr);
-  }
-  else hmac.destroy();
-}
-
diff --git a/src/libs/3rdparty/net7ssh/src/crypt.h b/src/libs/3rdparty/net7ssh/src/crypt.h
deleted file mode 100644
index 003dcb520d6..00000000000
--- a/src/libs/3rdparty/net7ssh/src/crypt.h
+++ /dev/null
@@ -1,357 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef CRYPT_H
-#define CRYPT_H
-
-#include <botan/dl_group.h>
-#include <botan/dh.h>
-#include <botan/pubkey.h>
-#include <botan/lookup.h>
-#include <botan/dsa.h>
-#include <botan/rsa.h>
-#include <botan/look_pk.h>
-#include <botan/pubkey.h>
-
-
-// #if defined(BOTAN_EXT_COMPRESSOR_ZLIB)
-//   #include <botan/zlib.h>
-// #else
-//   #error "Zlib support is not compiled into Botan"
-// #endif
-
-#include <botan/cbc.h>
-#include <botan/hmac.h>
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_string.h"
-
-class ne7ssh_session;
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_crypt
-{
-  private:
-    ne7ssh_session* session;
-
-    enum kexMethods { DH_GROUP1_SHA1, DH_GROUP14_SHA1 };
-    uint32 kexMethod;
-
-    enum hostkeyMethods { SSH_DSS, SSH_RSA };
-    uint32 hostkeyMethod;
-
-    enum cryptoMethods { TDES_CBC, AES128_CBC, AES192_CBC, AES256_CBC, BLOWFISH_CBC, CAST128_CBC, TWOFISH_CBC };
-    uint32 c2sCryptoMethod;
-    uint32 s2cCryptoMethod;
-
-    enum macMethods { HMAC_SHA1, HMAC_MD5, HMAC_NONE };
-    uint32 c2sMacMethod;
-    uint32 s2cMacMethod;
-
-    enum cmprsMethods { NONE, ZLIB };
-    uint32 c2sCmprsMethod;
-    uint32 s2cCmprsMethod;
-
-    bool inited;
-    Botan::SecureVector<Botan::byte> H;
-    Botan::SecureVector<Botan::byte> K;
-
-    Botan::Pipe *encrypt;
-    Botan::Pipe *decrypt;
-    Botan::Pipe *compress;
-    Botan::Pipe *decompress;
-    Botan::HMAC *hmacOut, *hmacIn;
-
-    Botan::DH_PrivateKey *privKexKey;
-
-    uint32 encryptBlock;
-    uint32 decryptBlock;
-
-    /**
-     * Generates a new Public Key, based on Diffie Helman Group1, SHA1 standard.
-     * @param publicKey Reference to publick Key. The result will be dumped into this var.
-     * @return If generation successful returns true, otherwise false is returned.
-     */
-    bool getDHGroup1Sha1Public (Botan::BigInt& publicKey);
-
-    /**
-     * Generates a new Public Key, based on Diffie Helman Group14, SHA1 standard.
-     * @param publicKey Reference to publick Key. The result will be dumped into this var.
-     * @return If generation successful returns true, otherwise false is returned.
-     */
-    bool getDHGroup14Sha1Public (Botan::BigInt &publicKey);
-
-    /**
-     * Generates a new DSA public Key from p,q,g,y values extracted from the host key received from the server.
-     * @param hostKey Reference to vector containing host key received from a server.
-     * @return Returns newly generated DSA public Key. If host key vector is trash, more likely application will be aborted within Botan library.
-     */
-    Botan::DSA_PublicKey* getDSAKey (Botan::SecureVector<Botan::byte>& hostKey);
-
-    /**
-    * Generates a new RSA public Key from n and e values extracted from the host key received from the server.
-    * @param hostKey Reference to a vector containing host key.
-    * @return Returns newly generated ESA public Key. If the hostkey is trash, more likely application will abort within Botan library.
-    */
-    Botan::RSA_PublicKey* getRSAKey (Botan::SecureVector<Botan::byte> &hostKey);
-
-    /**
-     * Returns a string represenation of negotiated one way hash algorithm. For DH1_GROUP1_SHA1, "SHA-1" will be returned.
-     * @return A string containing algorithm name.
-     */
-    const char* getHashAlgo();
-
-    /**
-     * Returns a string represenation of negotiated cipher algorithm.
-     * @param crypto Integer represenating a cipher algorithm.
-     * @return A string containing algorithm name.
-     */
-    const char* getCryptAlgo (uint32 crypto);
-
-    /**
-     * Returns a string represenation of negotiated HMAC algorithm.
-     * @param method Integer represenating HMAC algorithm.
-     * @return A string containing algorithm name.
-     */
-    const char* getHmacAlgo (uint32 method);
-
-    /**
-     * Returns key length of the negotiated HMAC algorithm.
-     * <p> Used in HMAC key generation. Key length coded in accordance with SSH protocol specs.
-     * @param method Integer represenating HMAC algorithm.
-     * @return Key length.
-     */
-    uint32 getMacKeyLen (uint32 method);
-
-    /**
-     * Returns digest length of negotiated HMAC algorithm.
-     * <p> If HMAC integrity checking is enabled, this value is used in the verification process. Digest length coded in accordance with SSH protocol specs.
-     * @param method Integer represenation of HMAC algorithm.
-     * @return Key length.
-     */
-    uint32 getMacDigestLen (uint32 method);
-
-    /**
-     * Function used to compute crypto and HMAC keys.
-     * <p> Keys are computed using K, H, ID and sessionID values. All these are concated and hashed. If hash is not long enough K, H, and newly generated key is used over and over again, till keys are long enough.
-     * @param key Resulting key will be dumped into this var.
-     * @param ID Single character ID, as specified in SSH protocol specs.
-     * @param nBytes Key length in bytes.
-     * @return True if key generation was successful, otherwise false is returned.
-     */
-    bool compute_key (Botan::SecureVector<Botan::byte>& key, Botan::byte ID, uint32 nBytes);
-
-
-  public:
-    /**
-     * ne7ssh_crypt class constructor.
-     * @param _session Pointer to ne7ssh_session class.
-     */
-    ne7ssh_crypt(ne7ssh_session* _session);
-
-    /**
-     * ne7ssh_crypt class destructor.
-     */
-    ~ne7ssh_crypt();
-
-    /**
-     * Checks if cryptographic engine has been initialized.
-     * <p> The engine is initialized when all crypto and hmac keys are generated and the cryptographic Pipes are created.
-     * @return True if cryptographic engine is initialized, otherwise false is returned.
-     */
-    bool isInited () { return inited; }
-
-    /**
-     * Returns the size of encryption block.
-     * @return Size of the block.
-     */
-    uint32 getEncryptBlock () { return encryptBlock; }
-
-    /**
-     * Returns the size of decryption block
-     * @return Size of the block
-     */
-    uint32 getDecryptBlock () { return decryptBlock; }
-
-    /**
-     * Returns digest length of HMAC algorithm used to verify integrity of transmited data.
-     * @return Digest length.
-     */
-    uint32 getMacOutLen () { return getMacDigestLen (c2sMacMethod); }
-
-    /**
-     * Returns digest length of HMAC algorithm used to verify integrity of data received.
-     * @return Digest length.
-     */
-    uint32 getMacInLen () { return getMacDigestLen (s2cMacMethod); }
-
-    /**
-     * This function is used in negotiations of crypto, signing and HMAC algorithms.
-     * @param result Reference to a vector where negotiated algorithm name will be dumped.
-     * @param local String containing a list of localy supported algorithms, separated by commas.
-     * @param remote Reference to vector containing a list of algorithms supported by remote side, separated by commas.
-     * @return True, if common algorithm was found, otherwise false is returned.
-     */
-    bool agree (Botan::SecureVector<Botan::byte>& result, const char* local, Botan::SecureVector<Botan::byte>& remote);
-
-    /**
-     * Parses negotiated key exchange algorithm vector, and registers it's integer representation with the class.
-     * @param kexAlgo Reference to a vector containing the negotiated KEX algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedKex (Botan::SecureVector<Botan::byte>& kexAlgo);
-
-    /**
-     * Parses negotiated host key algorithm and registers it's integer representation with the class.
-     * @param hostKeyAlgo Reference to a vector containing the negotiated host key algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedHostkey (Botan::SecureVector<Botan::byte>& hostKeyAlgo);
-
-    /**
-     * Parse negotiated client to server cipher algorithm and registers it's integer representation with the class.
-     * @param cryptoAlgo Reference to a vector containing the negotiated cipher algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedCryptoC2s (Botan::SecureVector<Botan::byte>& cryptoAlgo);
-
-    /**
-     * Parses negotiated server to client cipher algorithm and registers it's integer representation with the class.
-     * @param cryptoAlgo Reference to a vector containing the negotiated cipher algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedCryptoS2c (Botan::SecureVector<Botan::byte>& cryptoAlgo);
-
-    /**
-     * Parses negotiated client to server HMAC algorithm and registers it's integer representation with the class.
-     * @param macAlgo Reference to a vector containing the negotiated HMAC algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedMacC2s (Botan::SecureVector<Botan::byte>& macAlgo);
-
-    /**
-     * Parses negotiated server to client HMAC algorithm vector and registers it's integer representation with the class.
-     * @param macAlgo Reference to a vector containing the negotiated HMAC algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedMacS2c (Botan::SecureVector<Botan::byte>& macAlgo);
-
-    /**
-     * Parses negotiated client to server compression algorithm and registers it's integer representation with the class.
-     * @param cmprsAlgo Reference to a vector containing the negotiated compression algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedCmprsC2s (Botan::SecureVector<Botan::byte>& cmprsAlgo);
-
-    /**
-     * Parses negotiated server to client compression algorithm and registers it's integer representation with the class.
-     * @param cmprsAlgo Reference to a vector containing the negotiated compression algorithm.
-     * @return True if negotiated algorithm is recognized, otherwise false is returned.
-     */
-    bool negotiatedCmprsS2c (Botan::SecureVector<Botan::byte>& cmprsAlgo);
-
-    /**
-     * Generates KEX public key.
-     * @param publicKey Public key will be dumped into this var.
-     * @return True if key generation was successful, otherwise false is returned.
-     */
-    bool getKexPublic (Botan::BigInt& publicKey);
-
-    /**
-     * At the end of key exchange this function is used to generate a shared secret key from private KEX key, that one gets from getKexPublic() function and F value received from a server.
-     * @param result Secret key will be dumped into this var.
-     * @param f Reference to F value.
-     * @return True if key generation was successful, otherwise false is returned.
-     */
-    bool makeKexSecret (Botan::SecureVector<Botan::byte>& result, Botan::BigInt& f);
-
-    /**
-     * Computes H value by checking what hash algorithm is used and hashing "val".
-     * @param result H value will be dumped into this var.
-     * @param val Reference to vector containing material for H variable generation.
-     * @return True if key generation was successful, otherwise false is returned.
-     */
-    bool computeH (Botan::SecureVector<Botan::byte>& result, Botan::SecureVector<Botan::byte>& val);
-
-    /**
-     * Verifies host signature.
-     * @param hostKey Reference to vector containing hostKey.
-     * @param sig Regerence to vector containing the signature.
-     * @return True if signature verification was successful, otherwise false is returned.
-     */
-    bool verifySig (Botan::SecureVector<Botan::byte>& hostKey, Botan::SecureVector<Botan::byte>& sig);
-
-    /**
-     * Generates new cipher and HMAC keys.
-     * @return True if key generation was successful, otherwise false is returned.
-     */
-    bool makeNewKeys ();
-
-    /**
-     * Encrypts a packet and generates HMAC, if enabled during negotiation.
-     * <p>The entire packet is encrypted, only HMAC stays in raw format.
-     * @param crypted Encrypted packet will be dumped into this var.
-     * @param hmac HMAC will be dumped into this var.
-     * @param packet Reference to vector containing unencrypted packet.
-     * @param seq Transmited packet sequence.
-     * @return True if encryption successful, otherwise false is returned.
-     */
-    bool encryptPacket (Botan::SecureVector<Botan::byte>& crypted, Botan::SecureVector<Botan::byte>& hmac, Botan::SecureVector<Botan::byte>& packet, uint32 seq);
-
-    /**
-     * Decrypts a packet.
-     * @param decrypted Decrypted payload will be dumped into this var.
-     * @param packet Reference to vector containing encrypted packet.
-     * @param len Specifies the length of chunk to be decrypted.
-     * @return True if decryption is successful, otherwise false returned.
-     */
-    bool decryptPacket (Botan::SecureVector<Botan::byte>& decrypted, Botan::SecureVector<Botan::byte>& packet, uint32 len);
-
-    /**
-     * Computes HMAC from specific packet.
-     * @param hmac Generated HMAC value will be dumped into this var.
-     * @param packet Reference to vector containing packet for HMAC generation.
-     * @param seq receive sequence.
-     */
-    void computeMac (Botan::SecureVector<Botan::byte>& hmac, Botan::SecureVector<Botan::byte>& packet, uint32 seq);
-
-    /**
-     * Compresses the data.
-     * @param buffer Reference to vector containing payload to be compress. Results will also be dumped into this var.
-     */
-    void compressData (Botan::SecureVector<Botan::byte>& buffer);
-
-    /**
-     * Decompresses the data.
-     * @param buffer Reference to vector containing packet payload to decompress. Result will also be dumped into this var.
-     */
-    void decompressData (Botan::SecureVector<Botan::byte>& buffer);
-
-    /**
-     * Checks if compression is enabled.
-     * @return If compression is enabled returns true, otherwise false is returned.
-     */
-    bool isCompressed () { if (decompress) return true; else return false; }
-
-    /**
-     * Returns private AutoSeededRNG object.
-     * @return Point to AutoSeededRNG object.
-     */
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh.cpp
deleted file mode 100644
index bb1d268582e..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh.cpp
+++ /dev/null
@@ -1,983 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include <signal.h>
-#include <string.h>
-#include <time.h>
-#include <botan/init.h>
-#include <botan/auto_rng.h>
-#include "ne7ssh_string.h"
-#include "ne7ssh_connection.h"
-#include "ne7ssh.h"
-#include "ne7ssh_keys.h"
-#include "ne7ssh_mutex.h"
-
-#if defined(WIN32) || defined(__MINGW32__)
-#   define kill(pid,signo) raise(signo)
-#   define ne7ssh_thread_join(hndl,ign) WaitForSingleObject(hndl, INFINITE)
-#   define ne7ssh_thread_exit(sig) ExitThread(sig)
-#else
-#   define ne7ssh_thread_create pthread_create
-#       define ne7ssh_thread_join pthread_join
-#       define ne7ssh_thread_exit pthread_exit
-#endif
-
-using namespace Botan;
-using namespace std;
-
-const char* ne7ssh::SSH_VERSION = "SSH-2.0-NetSieben_1.3.2";
-Ne7sshError* ne7ssh::errs = NULL;
-
-#if !BOTAN_PRE_18 && !BOTAN_PRE_15
-RandomNumberGenerator* ne7ssh::rng = NULL;
-#endif
-
-#ifdef _DEMO_BUILD
-const char* ne7ssh::MAC_ALGORITHMS = "none";
-const char* ne7ssh::CIPHER_ALGORITHMS = "3des-cbc";
-const char* ne7ssh::KEX_ALGORITHMS = "diffie-hellman-group1-sha1";
-const char* ne7ssh::HOSTKEY_ALGORITHMS = "ssh-dss";
-#else
-const char* ne7ssh::MAC_ALGORITHMS = "hmac-md5,hmac-sha1,none";
-const char* ne7ssh::CIPHER_ALGORITHMS = "aes256-cbc,aes192-cbc,twofish-cbc,twofish256-cbc,blowfish-cbc,3des-cbc,aes128-cbc,cast128-cbc";
-const char* ne7ssh::KEX_ALGORITHMS = "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1";
-const char* ne7ssh::HOSTKEY_ALGORITHMS = "ssh-dss,ssh-rsa";
-#endif
-
-const char* ne7ssh::COMPRESSION_ALGORITHMS = "none";
-char *ne7ssh::PREFERED_CIPHER = 0;
-char *ne7ssh::PREFERED_MAC = 0;
-Ne7ssh_Mutex ne7ssh::mut;
-bool ne7ssh::running = false;
-bool ne7ssh::selectActive = true;
-
-class Locking_AutoSeeded_RNG : public Botan::RandomNumberGenerator
-{
-  public:
-    Locking_AutoSeeded_RNG() { rng = new Botan::AutoSeeded_RNG(); }
-    ~Locking_AutoSeeded_RNG() { delete rng; }
-
-    void randomize(Botan::byte output[], u32bit length)
-    {
-      mutex.lock();
-      rng->randomize(output, length);
-      mutex.unlock();
-    }
-
-    void clear() throw()
-    {
-      mutex.lock();
-      rng->clear();
-      mutex.unlock();
-    }
-
-    std::string name() const { return rng->name(); }
-
-    void reseed(u32bit bits_to_collect)
-    {
-      mutex.lock();
-      rng->reseed(bits_to_collect);
-      mutex.unlock();
-    }
-
-    void add_entropy_source(EntropySource* source)
-    {
-      mutex.lock();
-      rng->add_entropy_source(source);
-      mutex.unlock();
-    }
-
-    void add_entropy(const Botan::byte in[], u32bit length)
-    {
-      mutex.lock();
-      rng->add_entropy(in, length);
-      mutex.unlock();
-    }
-
-  private:
-    Ne7ssh_Mutex mutex;
-    Botan::RandomNumberGenerator* rng;
-};
-
-
-
-ne7ssh::ne7ssh() : connections(0), conCount(0)
-{
-  errs = new Ne7sshError();
-  if (ne7ssh::running)
-  {
-    errs->push (-1, "Cannot initialize more than more instance of ne7ssh class within the same application. Aborting.");
-    kill (0, SIGABRT);
-    return;
-  }
-  init = new LibraryInitializer("thread_safe");
-  ne7ssh::running = true;
-  allConns.conns = 0;
-  allConns.count = 0;
-
-#if !BOTAN_PRE_18 && !BOTAN_PRE_15
-  ne7ssh::rng = new Locking_AutoSeeded_RNG();
-#endif
-
-#if !defined(WIN32) && !defined(__MINGW32__)
-  int status = ne7ssh_thread_create (&select_thread, NULL, selectThread, (void*)this);
-  if (status)
-  {
-  errs->push (-1, "Failure creating a new thread.");
-    return;
-  }
-#else
-  if ((select_thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) selectThread, (LPVOID)this, 0, NULL)) == NULL)
-  {
-    errs->push (-1, "Failure creating new thread.");
-    return;
-  }
-#endif
-
-}
-
-ne7ssh::~ne7ssh()
-{
-  uint32 i;
-  long ign;
-
-  ne7ssh::running = false;
-  lock();
-  for (i = 0; i < conCount; i++)
-      close(i);
-  unlock();
-
-  ne7ssh_thread_join (select_thread, (void**)&ign);
-
-  if (conCount)
-  {
-    for (i = 0; i < conCount; i++)
-      delete connections[i];
-    free (connections);
-  }
-  else if (connections) free (connections);
-
-  if (ne7ssh::PREFERED_CIPHER)
-  {
-    free (ne7ssh::PREFERED_CIPHER);
-    ne7ssh::PREFERED_CIPHER = 0;
-  }
-  if (ne7ssh::PREFERED_MAC)
-  {
-    free (ne7ssh::PREFERED_MAC);
-    ne7ssh::PREFERED_MAC = 0;
-  }
-  if (errs)
-  {
-    delete (errs);
-    errs = 0;
-  }
-#if !BOTAN_PRE_18 && !BOTAN_PRE_15
-  if (ne7ssh::rng)
-  {
-    delete (rng);
-    rng = 0;
-  }
-#endif
-
-  delete init;
-
-}
-
-void *ne7ssh::selectThread (void *initData)
-{
-  ne7ssh *_ssh = (ne7ssh*) initData;
-  uint32 i, z;
-  int status = 0;
-  fd_set rd;
-  SOCKET rfds;
-  struct timeval waitTime;
-  connStruct* allConns;
-  bool cmdOrShell = false;
-  bool fdIsSet;
-
-  while (running)
-  {
-    if (!lock())
-    {
-      _ssh->selectDead();
-      return 0;
-    }
-    allConns = _ssh->getConnetions ();
-    for (i = 0; i < allConns->count; i++)
-    {
-      if (allConns->conns[i]->isOpen() && allConns->conns[i]->data2Send() && !allConns->conns[i]->isSftpActive())
-        allConns->conns[i]->sendData();
-    }
-
-    waitTime.tv_sec = 0;
-    waitTime.tv_usec = 10000;
-
-    rfds = 0;
-
-    FD_ZERO (&rd);
-    fdIsSet = false;
-
-    for (i = 0; i < allConns->count; i++)
-    {
-      cmdOrShell = (allConns->conns[i]->isRemoteShell() || allConns->conns[i]->isCmdRunning()) ? true : false;
-      if (allConns->conns[i]->isOpen() && cmdOrShell)
-      {
-        rfds = rfds > allConns->conns[i]->getSocket() ? rfds : allConns->conns[i]->getSocket();
-        FD_SET (allConns->conns[i]->getSocket(), &rd);
-        if (!fdIsSet) fdIsSet = true;
-      }
-      else if ((allConns->conns[i]->isConnected() && allConns->conns[i]->isRemoteShell()) || allConns->conns[i]->isCmdClosed())
-      {
-        delete (allConns->conns[i]);
-    allConns->conns[i] = 0;
-        allConns->count--;
-        for (z = i; z < allConns->count; z++)
-        {
-          allConns->conns[z] = allConns->conns[z + 1];
-          allConns->conns[z + 1] = 0;
-        }
-        _ssh->setCount (allConns->count);
-    i--;
-      }
-    }
-    if (!unlock())
-    {
-      _ssh->selectDead();
-      return 0;
-    }
-
-    if (fdIsSet)
-    {
-      if (rfds) status = select(rfds + 1, &rd, NULL, NULL, &waitTime);
-      else status = select(rfds + 1, NULL, &rd, NULL, &waitTime);
-    }
-    else usleep (1000);
-    if (status == -1)
-    {
-      errs->push (-1, "Error within select thread.");
-      usleep (1000);
-    }
-
-    if (!lock())
-    {
-      _ssh->selectDead();
-      return 0;
-    }
-
-    allConns = _ssh->getConnetions ();
-    for (i = 0; i < allConns->count; i++)
-    {
-      if (allConns->conns[i]->isOpen() && FD_ISSET (allConns->conns[i]->getSocket(), &rd))
-        allConns->conns[i]->handleData();
-    }
-    if (!unlock())
-    {
-      _ssh->selectDead();
-      return 0;
-    }
-  }
-  return 0;
-}
-
-int ne7ssh::connectWithPassword (const char *host, const int port,
-    const char* username, const char* password, bool shell, const int timeout,
-    void (*callbackFunc)(void *), void *callbackArg)
-{
-  int channel;
-  uint32 currentRecord, z;
-  uint32 channelID;
-
-
-  if (!lock()) return -1;
-  ne7ssh_connection* con = new ne7ssh_connection (callbackFunc, callbackArg);
-  if (!conCount) connections = (ne7ssh_connection**) malloc (sizeof (ne7ssh_connection*));
-  else connections = (ne7ssh_connection**) realloc (connections, sizeof (ne7ssh_connection*) * (conCount + 1));
-  connections[conCount++] = con;
-  allConns.count = conCount;
-  allConns.conns = connections;
-  channelID = getChannelNo();
-  con->setChannelNo (channelID);
-
-  if (!unlock()) return -1;
-  channel = con->connectWithPassword (channelID, host, port, username, password, shell, timeout);
-
-  if (channel == -1)
-  {
-    if (!lock()) return -1;
-    for (z = 0; z < allConns.count; z++)
-    {
-      if (allConns.conns[z] == con)
-      {
-        currentRecord = z;
-        break;
-      }
-    }
-    if (z == allConns.count)
-    {
-      ne7ssh::errors()->push (-1, "Unexpected behaviour!");
-      return -1;
-    }
-
-    delete con;
-    allConns.conns[currentRecord] = 0;
-    allConns.count--;
-    for (z = currentRecord; z < allConns.count; z++)
-    {
-      allConns.conns[z] = allConns.conns[z + 1];
-      allConns.conns[z + 1] = 0;
-    }
-    conCount = allConns.count;
-    if (!unlock()) return -1;
-  }
-  return channel;
-}
-
-int ne7ssh::connectWithKey (const char* host, const int port,
-    const char* username, const char* privKeyFileName, bool shell,
-    const int timeout, void (*callbackFunc)(void *), void *callbackArg)
-{
-  int channel;
-  uint32 currentRecord, z;
-  uint32 channelID;
-
-  if (!lock()) return -1;
-  ne7ssh_connection* con = new ne7ssh_connection (callbackFunc, callbackArg);
-  if (!conCount) connections = (ne7ssh_connection**) malloc (sizeof (ne7ssh_connection*) * (conCount + 1));
-  else connections = (ne7ssh_connection**) realloc (connections, sizeof (ne7ssh_connection*) * (conCount + 1));
-  connections[conCount++] = con;
-  allConns.count = conCount;
-  allConns.conns = connections;
-  channelID = getChannelNo();
-  con->setChannelNo (channelID);
-
-  if (!unlock()) return -1;
-
-  channel = con->connectWithKey (channelID, host, port, username, privKeyFileName, shell, timeout);
-
-  if (channel == -1)
-  {
-    if (!lock()) return -1;
-    for (z = 0; z < allConns.count; z++)
-    {
-      if (allConns.conns[z] == con)
-      {
-        currentRecord = z;
-        break;
-      }
-    }
-    if (z == allConns.count)
-    {
-      ne7ssh::errors()->push (-1, "Unexpected behaviour!");
-      return -1;
-    }
-
-    delete con;
-    allConns.conns[currentRecord] = 0;
-    allConns.count--;
-    for (z = currentRecord; z < allConns.count; z++)
-    {
-      allConns.conns[z] = allConns.conns[z + 1];
-      allConns.conns[z + 1] = 0;
-    }
-    conCount = allConns.count;
-    if (!unlock()) return -1;
-  }
-  return channel;
-}
-
-
-bool ne7ssh::send (const char* data, int channel)
-{
-  uint32 i;
-
-  if (!lock()) return false;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-    {
-      connections[i]->sendData (data);
-        if (!unlock()) return false;
-      else return true;
-    }
-  }
-    errs->push (-1, "Bad channel: %i specified for sending.", channel);
-  if (!unlock()) return false;
-  return false;
-}
-
-bool ne7ssh::initSftp (Ne7SftpSubsystem& _sftp, int channel)
-{
-  uint32 i;
-  Ne7sshSftp *__sftp;
-
-  if (!lock()) return false;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-    {
-      __sftp = connections[i]->startSftp ();
-      if (!__sftp)
-      {
-        if (!unlock()) return false;
-    return false;
-      }
-      else
-      {
-        Ne7SftpSubsystem sftpSubsystem (__sftp);
-        _sftp = sftpSubsystem;
-        if (!unlock()) return false;
-        return true;
-      }
-    }
-  }
-  if (!unlock()) return false;
-  errs->push (-1, "Bad channel: %i specified. Cannot initialize SFTP subsystem.", channel);
-  return false;
-}
-
-
-bool ne7ssh::sendCmd (const char* cmd, int channel, int timeout)
-{
-  uint32 i;
-  time_t cutoff = 0;
-  bool status;
-
-  if (timeout) cutoff = time(NULL) + timeout;
-
-  if (!lock()) return false;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-    {
-      status = connections[i]->sendCmd (cmd);
-      if (!status)
-      {
-        if (!unlock()) return false;
-    return false;
-      }
-
-      if (!timeout)
-      {
-        while (!connections[i]->getCmdComplete())
-    {
-          for (i = 0; i < conCount; i++)
-      {
-            if (channel == connections[i]->getChannelNo())
-          break;
-          }
-      if (i == conCount)
-      {
-        errs->push (-1, "Bad channel: %i specified for sending.", channel);
-        unlock();
-        return false;
-      }
-          if (!connections[i]->getCmdComplete())
-          {
-            if (!unlock()) return false;
-            usleep (10000);
-            if (!lock()) return false;
-          }
-    }
-      }
-      else if (timeout > 0)
-      {
-        while (!connections[i]->getCmdComplete())
-    {
-          for (i = 0; i < conCount; i++)
-      {
-            if (channel == connections[i]->getChannelNo())
-          break;
-          }
-      if (i == conCount)
-      {
-        errs->push (-1, "Bad channel: %i specified for sending.", channel);
-        if (!unlock()) return false;
-        return false;
-      }
-          if (!connections[i]->getCmdComplete())
-          {
-            if (!unlock()) return false;
-            usleep (10000);
-            if (!lock()) return false;
-            if (!cutoff) continue;
-            if (time(NULL) >= cutoff) break;
-          }
-    }
-      }
-      if (!unlock()) return false;
-      return true;
-    }
-  }
-  errs->push (-1, "Bad channel: %i specified for sending.", channel);
-  if (!unlock()) return false;
-  return false;
-}
-
-
-bool ne7ssh::close (int channel)
-{
-  uint32 i;
-  bool status = false;
-
-  if (channel == -1)
-  {
-    errs->push (-1, "Bad channel: %i specified for closing.", channel);
-    return false;
-  }
-
-  if (!lock()) return false;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-      status = connections[i]->sendClose();
-  }
-  errs->deleteChannel (channel);
-
-  if (!unlock()) return false;
-
-  return status;
-}
-
-bool ne7ssh::waitFor (int channel, const char* str, uint32 timeSec)
-{
-  Botan::byte one;
-  const Botan::byte *carret;
-  const char* buffer;
-  size_t len = 0, carretLen = 0, str_len = 0, prevLen = 0;
-  time_t cutoff = 0;
-  bool dataChange;
-
-  if (timeSec) cutoff = time(NULL) + timeSec;
-
-  if (channel == -1)
-  {
-    errs->push (-1, "Bad channel: %i specified for waiting.", channel);
-    return false;
-  }
-
-  str_len = strlen (str);
-
-  while (1)
-  {
-    if (!lock()) return false;
-    buffer = read (channel, false);
-    if (buffer)
-    {
-      len = getReceivedSize(channel, false);
-      if (cutoff && prevLen && len == prevLen) dataChange = false;
-      else
-      {
-        dataChange = true;
-        prevLen = len;
-      }
-      carret = (const Botan::byte*) buffer + len - 1;
-      one = *str;
-      carretLen = 1;
-
-      while (carretLen <= len)
-      {
-        if ((*carret == one) && (str_len <= carretLen))
-        {
-          if (!memcmp (carret, str, str_len))
-          {
-            if (!unlock()) return false;
-            return true;
-          }
-        }
-        carretLen++;
-        carret--;
-      }
-    }
-    else (dataChange = false);
-    if (!unlock()) return false;
-    usleep (10000);
-    if (!cutoff) continue;
-    if (time(NULL) >= cutoff) break;
-  }
-  return false;
-}
-
-
-const char* ne7ssh::read (int channel, bool do_lock)
-{
-  uint32 i;
-  SecureVector<Botan::byte> data;
-
-  if (channel == -1)
-  {
-    errs->push (-1, "Bad channel: %i specified for reading.", channel);
-    return false;
-  }
-  if (do_lock && !lock()) return false;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-    {
-      data = connections[i]->getReceived();
-      if (data.size())
-      {
-        if (do_lock && !unlock()) return false;
-        return ((const char*)connections[i]->getReceived().begin());
-      }
-    }
-  }
-  if (do_lock && !unlock()) return false;
-  return 0;
-}
-
-char *ne7ssh::readAndReset(int channel, char *(*alloc)(size_t))
-{
-  if (channel == -1)
-  {
-    errs->push (-1, "Bad channel: %i specified for reading.", channel);
-    return 0;
-  }
-  if (!lock()) return 0;
-  char *buffer = 0;
-  for (uint32 i = 0; i < conCount; i++)
-  {
-    SecureVector<Botan::byte> data;
-    if (channel == connections[i]->getChannelNo())
-    {
-      data = connections[i]->getReceived();
-      if (data.size())
-      {
-        Botan::SecureVector<Botan::byte>& received=connections[i]->getReceived();
-        buffer = alloc(received.size());
-        strncpy(buffer, reinterpret_cast<char*>(received.begin()), received.size());
-        connections[i]->resetReceiveBuffer();
-      }
-      break;
-    }
-  }
-  if (!unlock()) return false;
-  return buffer;
-}
-
-
-void* ne7ssh::readBinary (int channel)
-{
-  uint32 i;
-  SecureVector<Botan::byte> data;
-
-  if (channel == -1)
-  {
-    errs->push (-1, "Bad channel: %i specified for reading.", channel);
-    return false;
-  }
-
-  if (!lock()) return 0;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-    {
-      data = connections[i]->getReceived();
-      if (data.size())
-      {
-        if (!unlock()) return 0;
-        return ((void*)connections[i]->getReceived().begin());
-      }
-    }
-  }
-  if (!unlock()) return 0;
-  return 0;
-}
-
-
-int ne7ssh::getReceivedSize (int channel, bool do_lock)
-{
-  uint32 i;
-  int size;
-
-  if (do_lock && !lock()) return 0;
-  for (i = 0; i < conCount; i++)
-  {
-    if (channel == connections[i]->getChannelNo())
-    {
-      if (!connections[i]->getReceived().size())
-      {
-        if (do_lock && !unlock()) return 0;
-        return 0;
-      }
-      else
-      {
-        size = connections[i]->getReceived().size();
-        if (do_lock && !unlock()) return 0;
-        return (size);
-      }
-    }
-  }
-  if (do_lock && !unlock()) return 0;
-  return 0;
-}
-
-uint32 ne7ssh::getChannelNo ()
-{
-  uint32 i;
-  int32 channelID = 1;
-
-  if (!conCount)
-  {
-    return channelID;
-  }
-
-  for (channelID = 1; channelID != 0x7FFFFFFF; channelID++)
-  {
-    for (i = 0; i < conCount; i++)
-    {
-      if (connections[i] && (connections[i]->getChannelNo() == channelID))
-        break;
-    }
-    if (i == conCount) break;
-  }
-
-  if (channelID == 0x7FFFFFFF)
-  {
-    errs->push (-1, "Maximum theoretical channel count reached!");
-    return 0;
-  }
-  else return channelID;
-}
-
-void ne7ssh::setOptions (const char* prefCipher, const char* prefHmac)
-{
-  size_t len = 0;
-
-  if (prefCipher) len = strlen (prefCipher);
-  if (!ne7ssh::PREFERED_CIPHER && len) ne7ssh::PREFERED_CIPHER = (char*) malloc (len);
-  else if (len) ne7ssh::PREFERED_CIPHER = (char*) realloc (ne7ssh::PREFERED_CIPHER, len);
-  memcpy (ne7ssh::PREFERED_CIPHER, prefCipher, len);
-
-  len = 0;
-  if (prefHmac) len = strlen (prefHmac);
-  if (!ne7ssh::PREFERED_MAC && len) ne7ssh::PREFERED_MAC = (char*) malloc (len);
-  else if (len) ne7ssh::PREFERED_MAC = (char*) realloc (ne7ssh::PREFERED_MAC, len);
-  memcpy (ne7ssh::PREFERED_MAC, prefHmac, len);
-}
-
-bool ne7ssh::lock ()
-{
-  int status;
-  status = ne7ssh::mut.lock();
-
-  if (!isSelectActive())
-  {
-    errs->push (-1, "Select thread appears to be dead.");
-    return false;
-  }
-
-  if (status)
-  {
-    errs->push (-1, "Could not aquire a mutex lock. Error: %i.", status);
-    return false;
-  }
-  return true;
-}
-
-bool ne7ssh::unlock ()
-{
-  int status;
-  status = ne7ssh::mut.unlock();
-
-  if (!isSelectActive())
-  {
-    errs->push (-1, "Select thread appears to be dead.");
-    return false;
-  }
-
-  if (status)
-  {
-    errs->push (-1, "Error while releasing a mutex lock. Error: %i.", status);
-    return false;
-  }
-  return true;
-}
-
-SSH_EXPORT Ne7sshError* ne7ssh::errors()
-{
-  return errs;
-}
-
-bool ne7ssh::generateKeyPair (const char* type, const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize)
-{
-  ne7ssh_keys keyPair;
-  enum keyAlgos { DSA, RSA };
-  uint8 keyAlgo;
-
-  if (!memcmp (type, "dsa", 3))
-    keyAlgo = DSA;
-  else if (!memcmp (type, "rsa", 3))
-    keyAlgo = RSA;
-
-  switch (keyAlgo)
-  {
-    case DSA:
-      if (!keySize)
-        return keyPair.generateDSAKeys (fqdn, privKeyFileName, pubKeyFileName);
-      else
-        return keyPair.generateDSAKeys (fqdn, privKeyFileName, pubKeyFileName, keySize);
-
-    case RSA:
-      if (!keySize)
-        return keyPair.generateRSAKeys (fqdn, privKeyFileName, pubKeyFileName);
-      else
-        return keyPair.generateRSAKeys (fqdn, privKeyFileName, pubKeyFileName, keySize);
-
-    default:
-      errs->push (-1, "The specfied key algorithm: %i not supported", keyAlgo);
-      return false;
-  }
-  return false;
-}
-
-Ne7SftpSubsystem::Ne7SftpSubsystem () : inited(false), sftp(0)
-{
-}
-
-Ne7SftpSubsystem::Ne7SftpSubsystem (Ne7sshSftp* _sftp) : inited(true), sftp((Ne7sshSftp*)_sftp)
-{
-}
-
-Ne7SftpSubsystem::~Ne7SftpSubsystem ()
-{
-}
-
-bool Ne7SftpSubsystem::setTimeout (uint32 _timeout)
-{
-  if (!inited) return errorNotInited();
-  sftp->setTimeout (_timeout);
-  return true;
-}
-
-uint32 Ne7SftpSubsystem::openFile (const char* filename, uint8 mode)
-{
-  if (!inited) return errorNotInited();
-  return sftp->openFile (filename, mode);
-}
-
-uint32 Ne7SftpSubsystem::openDir (const char* dirname)
-{
-  if (!inited) return errorNotInited();
-  return sftp->openDir (dirname);
-}
-
-bool Ne7SftpSubsystem::readFile (uint32 fileID, uint64 offset)
-{
-  if (!inited) return errorNotInited();
-  return sftp->readFile (fileID, offset);
-}
-
-bool Ne7SftpSubsystem::writeFile (uint32 fileID, const uint8* data, uint32 len, uint64 /* offset */)
-{
-  if (!inited) return errorNotInited();
-  return sftp->writeFile (fileID, data, len);
-}
-
-bool Ne7SftpSubsystem::closeFile (uint32 fileID)
-{
-  if (!inited) return errorNotInited();
-  return sftp->closeFile (fileID);
-}
-
-bool Ne7SftpSubsystem::errorNotInited ()
-{
-  ne7ssh::errors()->push (-1, "This SFTP system has not been initialized.");
-  return false;
-}
-
-bool Ne7SftpSubsystem::getFileAttrs (fileAttrs& attrs, const char* filename, bool followSymLinks)
-{
-  if (!inited) return errorNotInited();
-  return sftp->getFileAttrs (attrs, filename, followSymLinks);
-}
-
-bool Ne7SftpSubsystem::get (const char* remoteFile, FILE* localFile)
-{
-  if (!inited) return errorNotInited();
-  return sftp->get (remoteFile, localFile);
-}
-
-bool Ne7SftpSubsystem::put (FILE* localFile, const char* remoteFile)
-{
-  if (!inited) return errorNotInited();
-  return sftp->put (localFile, remoteFile);
-}
-
-bool Ne7SftpSubsystem::rm (const char* remoteFile)
-{
-  if (!inited) return errorNotInited();
-  return sftp->rm (remoteFile);
-}
-
-bool Ne7SftpSubsystem::mv (const char* oldFile, const char* newFile)
-{
-  if (!inited) return errorNotInited();
-  return sftp->mv (oldFile, newFile);
-}
-
-bool Ne7SftpSubsystem::mkdir (const char* remoteDir)
-{
-  if (!inited) return errorNotInited();
-  return sftp->mkdir (remoteDir);
-}
-
-bool Ne7SftpSubsystem::rmdir (const char* remoteDir)
-{
-  if (!inited) return errorNotInited();
-  return sftp->rmdir (remoteDir);
-}
-
-const char* Ne7SftpSubsystem::ls (const char* remoteDir, bool longNames)
-{
-  if (!inited)
-  {
-    errorNotInited();
-    return 0;
-  }
-  return sftp->ls (remoteDir, longNames);
-}
-
-bool Ne7SftpSubsystem::cd (const char* remoteDir)
-{
-  if (!inited) return errorNotInited();
-  return sftp->cd (remoteDir);
-}
-
-bool Ne7SftpSubsystem::chmod (const char* remoteFile, const char* mode)
-{
-  if (!inited) return errorNotInited();
-  return sftp->chmod (remoteFile, mode);
-}
-
-bool Ne7SftpSubsystem::chown (const char* remoteFile, uint32_t uid, uint32_t gid)
-{
-  if (!inited) return errorNotInited();
-  return sftp->chown (remoteFile, uid, gid);
-}
-
-bool Ne7SftpSubsystem::isFile (const char* remoteFile)
-{
-  if (!inited) return errorNotInited();
-  return sftp->isFile (remoteFile);
-}
-
-bool Ne7SftpSubsystem::isDir (const char* remoteFile)
-{
-  if (!inited) return errorNotInited();
-  return sftp->isDir (remoteFile);
-}
-
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh.h b/src/libs/3rdparty/net7ssh/src/ne7ssh.h
deleted file mode 100644
index 57cc281b902..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh.h
+++ /dev/null
@@ -1,521 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_H
-#define NE7SSH_H
-
-#include <botan/build.h>
-
-//#include <botan/zlib.h>
-//#include "error.h"
-
-#if BOTAN_VERSION_MAJOR > 1
-#   error Unsupported Botan Version
-#endif
-
-#define BOTAN_PRE_15 (BOTAN_VERSION_MINOR < 5)
-#define BOTAN_PRE_18 (BOTAN_VERSION_MINOR < 8)
-
-#if !BOTAN_PRE_18 && !BOTAN_PRE_15
-# include <botan/auto_rng.h>
-# include <botan/rng.h>
-#endif
-
-#include <stdlib.h>
-#include <string>
-#include <fcntl.h>
-#if !defined(WIN32) && !defined(__MINGW32__)
-#   include <pthread.h>
-#   include <sys/select.h>
-#   include <unistd.h>
-typedef pthread_t ne7ssh_thread_t;
-#else
-#include <windows.h>
-typedef HANDLE ne7ssh_thread_t;
-#endif
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_error.h"
-#include "ne7ssh_mutex.h"
-
-#define SSH2_MSG_DISCONNECT 1
-#define SSH2_MSG_IGNORE 2
-
-#define SSH2_MSG_KEXINIT  20
-#define SSH2_MSG_NEWKEYS  21
-
-#define SSH2_MSG_KEXDH_INIT 30
-#define SSH2_MSG_KEXDH_REPLY  31
-
-#define SSH2_MSG_SERVICE_REQUEST 5
-#define SSH2_MSG_SERVICE_ACCEPT 6
-
-#define SSH2_MSG_USERAUTH_REQUEST 50
-#define SSH2_MSG_USERAUTH_FAILURE 51
-#define SSH2_MSG_USERAUTH_SUCCESS 52
-#define SSH2_MSG_USERAUTH_BANNER 53
-#define SSH2_MSG_USERAUTH_PK_OK 60
-
-#define SSH2_MSG_CHANNEL_OPEN                           90
-#define SSH2_MSG_CHANNEL_OPEN_CONFIRMATION              91
-#define SSH2_MSG_CHANNEL_OPEN_FAILURE                   92
-#define SSH2_MSG_CHANNEL_WINDOW_ADJUST                  93
-#define SSH2_MSG_CHANNEL_DATA                           94
-#define SSH2_MSG_CHANNEL_EXTENDED_DATA                  95
-#define SSH2_MSG_CHANNEL_EOF                            96
-#define SSH2_MSG_CHANNEL_CLOSE                          97
-#define SSH2_MSG_CHANNEL_REQUEST                        98
-#define SSH2_MSG_CHANNEL_SUCCESS                        99
-#define SSH2_MSG_CHANNEL_FAILURE                        100
-
-class ne7ssh_connection;
-
-/** Structure used to store connections. Used to better sync with selectThread. */
-typedef struct {
-  /** Pointer to all active connections.*/
-  ne7ssh_connection **conns;
-  /** Active connection count.	*/
-  uint32 count;
-} connStruct;
-
-/** definitions for Botan */
-namespace Botan
-{
-    class LibraryInitializer;
-}
-
-class Ne7SftpSubsystem;
-
-/**
-@author Andrew Useckas
-*/
-class SSH_EXPORT ne7ssh
-{
-  private:
-
-    static Ne7ssh_Mutex mut;
-    Botan::LibraryInitializer *init;
-    ne7ssh_connection **connections;
-    uint32 conCount;
-    static bool running;
-    static bool selectActive;
-    connStruct allConns;
-
-
-    /**
-     * Send / Receive thread.
-     * <p> For Internal use only
-     * @return Usually 0 when thread terminates
-     */
-    static void *selectThread (void*);
-
-    /**
-     * Returns the number of active channel.
-     * @return Active channel.
-     */
-    uint32 getChannelNo ();
-    ne7ssh_thread_t select_thread;
-    bool connected;
-
-    /**
-    * Lock the mutex.
-    * @return True if lock aquired. Oterwise false.
-    */
-    static bool lock ();
-
-    /**
-    * Unlock the mutext.
-    * @return True if the mutext successfully unlocked. Otherwise false.
-    */
-    static bool unlock ();
-    static Ne7sshError* errs;
-
-  public:
-#if !BOTAN_PRE_18 && !BOTAN_PRE_15
-    static Botan::RandomNumberGenerator *rng;
-#endif
-    static const char* SSH_VERSION;
-    static const char* KEX_ALGORITHMS;
-    static const char* HOSTKEY_ALGORITHMS;
-    static const char* MAC_ALGORITHMS;
-    static const char* CIPHER_ALGORITHMS;
-    static const char* COMPRESSION_ALGORITHMS;
-    static char* PREFERED_CIPHER;
-    static char* PREFERED_MAC;
-
-    /**
-     * Default constructor. Used to allocate required memory, as well as initializing cryptographic routines.
-     */
-    ne7ssh();
-    /**
-     * Destructor.
-     */
-    ~ne7ssh();
-
-    /**
-     * Connect to remote host using SSH2 protocol, with password authentication.
-     * @param host Hostname or IP to connect to.
-     * @param port Port to connect to.
-     * @param username Username to use in authentication.
-     * @param password Password to use in authentication.
-     * @param shell Set this to true if you wish to launch the shell on the remote end. By default set to true.
-     * @param timeout Timeout for the connection procedure, in seconds.
-     * @return Returns newly assigned channel ID, or -1 if connection failed.
-     */
-    int connectWithPassword (const char* host, const int port, const char* username,
-        const char* password, bool shell = true, const int timeout = 0,
-        void (*callbackFunc)(void *) = 0, void *callbackArg = 0);
-
-    /**
-     * Connect to remote host using SSH2 protocol, with publickey authentication.
-     * <p> Reads private key from a file specified, and uses it to authenticate to remote host.
-     * Remote side must have public key from the key pair for authentication to succeed.
-     * @param host Hostname or IP to connect to.
-     * @param port Port to connect to.
-     * @param username Username to use in authentication.
-     * @param privKeyFileName Full path to file containing private key used in authentication.
-     * @param shell Set this to true if you wish to launch the shell on the remote end. By default set to true.
-     * @param timeout Timeout for the connection procedure, in seconds.
-     * @return Returns newly assigned channel ID, or -1 if connection failed.
-     */
-    int connectWithKey (const char* host, const int port, const char* username,
-        const char* privKeyFileName, bool shell = true, const int timeout = 0,
-        void (*callbackFunc)(void *) = 0, void *callbackArg = 0);
-
-    /**
-     * Retrieves a pointer to all current connections.
-     * <p> For internal use only.
-     * @return Returns pointer to pointers to ne7ssh_connection class, or 0 if no connection exist.
-     */
-//    ne7ssh_connection** getConnections () { return connections; }
-
-    connStruct* getConnetions () { return &allConns; }
-
-    /**
-     * Retreives count of current connections
-     * <p> For internal use only.
-     * @return Returns current count of connections.
-     */
-//    uint32 getConCount () { return conCount; }
-
-    /**
-     * Sends a command string on specified channel, provided the specified channel has been previously opened through connectWithPassword() function.
-     * @param data Pointer to the command string to send to a channel.
-     * @param channel Channel to send data on.
-     * @return Returns true if the send was successful, otherwise false returned.
-     */
-    bool send (const char* data, int channel);
-
-    /**
-    * Can be used to send a single command and disconnect, similiar behavior to openssh when one appends a command to the end of ssh command.
-    * @param cmd Remote command to execute. Can be used to read files on unix with 'cat [filename]'.
-    * @param channel Channel to send the command.
-    * @param timeout How long to wait before giving up.
-    * @return Returns true if the send was successful, otherwise false returned.
-    */
-    bool sendCmd (const char* cmd, int channel, int timeout);
-
-    /**
-     * Closes specified channel.
-     * @param channel Channel to close.
-     * @return Returns true if closing was successful, otherwise false is returned.
-     */
-    bool close (int channel);
-
-    /**
-     * Sets connection count.
-     * <p> For internal use only.
-     * @param count Integer to set connection count.
-     */
-    void setCount (uint32 count) { conCount = count; }
-
-    /**
-    * Reads all data from receiving buffer on specified channel.
-    * @param channel Channel to read data on.
-    * @return Returns string read from receiver buffer or 0 if buffer is empty.
-    */
-    const char* read (int channel, bool do_lock=true);
-
-    /**
-    * Reads all data from receiving buffer on specified channel into a newly
-    * allocated buffer and empties the receive buffer afterwards.
-    * @param channel Channel to read data on.
-    * @param alloc Pointer to function allocating the memory for the buffer
-    *              to return.
-    * @return Returns string read from receiver buffer or 0 if buffer is empty.
-    *         Freeing the returned buffer is the user's responsibility.
-    */
-    char* readAndReset (int channel, char* (*alloc)(size_t));
-
-    /**
-    * Reads all data from receiving buffer on specified channel. Returns pointer to void. Together with getReceivedSize and sendCmd can be used to read remote files.
-    * @param channel Channel to read data on.
-    * @return Returns pointer to the start of binary data or 0 if nothing received.
-    */
-    void* readBinary (int channel);
-
-    /**
-     * Returns the size of all data read. Used to read buffer passed 0x0.
-     * @param channel Channel number which buffer size to check.
-     * @return Return size of the buffer, or 0x0 if receive buffer empty.
-     */
-    int getReceivedSize (int channel, bool do_lock=true);
-
-    /**
-     * Wait until receiving buffer contains a string passed in str, or until the function timeouts as specified in timeout.
-     * @param channel Channel to wait on.
-     * @param str String to wait for.
-     * @param timeout Timeout in seconds.
-     * @return Returns true if string specified in str variable has been received, otherwise false returned.
-     */
-    bool waitFor (int channel, const char* str, uint32 timeout=0);
-
-    /**
-     * Sets prefered cipher and hmac algorithms.
-     * <p> This function as to be executed before connection functions, just after initialization of ne7ssh class.
-     * @param prefCipher prefered cipher algorithm string representation. Possible cipher algorithms are aes256-cbc, twofish-cbc, twofish256-cbc, blowfish-cbc, 3des-cbc, aes128-cbc, cast128-cbc.
-     * @param prefHmac preferede hmac algorithm string representation. Possible hmac algorithms are hmac-md5, hmac-sha1, none.
-     */
-    void setOptions (const char* prefCipher, const char* prefHmac);
-
-
-    /**
-     * Generate key pair.
-     * @param type String specifying key type. Currently "dsa" and "rsa" are supported.
-     * @param fqdn User id. Usually an Email. For example "test@netsieben.com"
-     * @param privKeyFileName Full path to a file where generated private key should be written.
-     * @param pubKeyFileName Full path to a file where generated public key should be written.
-     * @param keySize Desired key size in bits. If not specified will default to 2048.
-     * @return Return true if keys generated and written to the files. Otherwise false is returned.
-     */
-    bool generateKeyPair (const char* type, const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize = 0);
-
-    /**
-     * This method is used to initialize a new SFTP subsystem.
-     * @param _sftp Reference to SFTP subsystem to be initialized.
-     * @param channel Channel ID returned by one of the connect methods.
-     * @return True if the new subsystem successfully initialized. False on any error.
-     */
-    bool initSftp (Ne7SftpSubsystem& _sftp, int channel);
-
-    /**
-     * This method returns a pointer to the current Error collection.
-     * @return the Error collection
-     */
-    static Ne7sshError* errors();
-
-    static bool isSelectActive() { return selectActive; }
-    static void selectDead() { selectActive = false; }
-};
-
-class Ne7sshSftp;
-
-/**
-	@author Andrew Useckas <andrew@netsieben.com>
-*/
-class SSH_EXPORT Ne7SftpSubsystem
-{
-  private:
-    bool inited;
-    Ne7sshSftp* sftp;
-
-/**
- * Pushes and error to the error buffer, if this subsystem has not been initialized before usage.
- * @return True if the push succeeds. Otherwise false.
- */
-bool errorNotInited ();
-
-  public:
-    /** Structure used to store rmote file attributes. */
-    typedef struct
-    {
-      uint64_t  size;
-      uint32_t	owner;
-      uint32_t	group;
-      uint32_t	permissions;
-      uint32_t	atime;
-      uint32_t	mtime;
-    } fileAttrs;
-
-    /** Modes used when opening a remote file. */
-    enum writeMode { READ, OVERWRITE, APPEND };
-
-    /**
-     * Default constructor.
-     */
-    Ne7SftpSubsystem ();
-
-    /**
-     * Constructor used to initialize the subsystem with a new Ne7sshSftp class instance.
-     * @param _sftp Ne7sshSftp class instance.
-     */
-    Ne7SftpSubsystem (class Ne7sshSftp* _sftp);
-
-    /**
-     * Default destructor.
-     */
-    ~Ne7SftpSubsystem();
-
-    /**
-    * This method is used to set a timeout for all SFTP subsystem communications.
-    * @param _timeout Timeout in seconds.
-    * @return True if timeout set, otherwise false.
-    */
-    bool setTimeout (uint32 _timeout);
-
-    /**
-    * Low level method used to open a remote file.
-    * @param filename Relative or full path to the file.
-    * @param mode Mode to be used when opening the file. Can be one of the modes defined by writeMode class variable.
-    * @return Newly opened file ID or 0 if file could not be opened.
-    */
-    uint32 openFile (const char* filename, uint8 mode);
-
-    /**
-    * Low level method used to open an inode containing file entries a.k.a directory.
-    * @param dirname Relative or full path to the inode.
-    * @return Newly opened file ID or 0 if the inode could not be opened.
-    */
-    uint32 openDir (const char* dirname);
-
-    /**
-    * Low level method used to read datablock up to the size of SFTP_MAX_MSG_SIZE from a file.
-    * @param fileID File ID retruned by openFile() method.
-    * @param offset Offset.
-    * @return True if file content successfully read and placed in the buffer. Otherwise false.
-    */
-    bool readFile (uint32 fileID, uint64 offset = 0);
-
-    /**
-    * Low level method used to write data-block up to the size of SFTP_MAX_MSG_SIZE to a remote file.
-    * @param fileID File ID returned by openFile() method.
-    * @param data Pointer to a buffer containing the data.
-    * @param len Length of the block.
-    * @param offset Offset in the remote file. If offset is passed EOF the space between EOF and offset will be filled by 0x0.
-    * @return True if file contect successfully written. False on any error.
-    */
-    bool writeFile (uint32 fileID, const uint8* data, uint32 len, uint64 offset = 0);
-
-    /**
-    * Low level method used to close a file opened by using openFile() method.
-    * @param fileID File ID returned by openFile() method.
-    * @return True on success. False on any error.
-    */
-    bool closeFile (uint32 fileID);
-
-    /**
-    * This method is used to retrieve remote file attributes and place them into fileAttrs structure.
-    * @param attrs Reference to fileAttrs structure where retrieved attributes should be placed.
-    * @param filename Name of the remote file.
-    * @param followSymLinks If this variable is set to true, symbolic links will be followed. That is the default befavour. If this behavour is undesired, pass "false".
-    * @return True if the attributes successfully retrieved. Otherwise false is returned.
-    */
-    bool getFileAttrs (fileAttrs& attrs, const char* filename, bool followSymLinks = true);
-
-
-    /**
-    * This method is used to retrieve a remote file and dump it into local file.
-    * @param remoteFile Full or relative path to the file on the remote side.
-    * @param localFile Pointer to the FILE structure. If the file being retrieved is binary, use "w+" attributes in fopen function.
-    * @return True if getting the file is succeeds. False on any error.
-    */
-    bool get (const char* remoteFile, FILE* localFile);
-
-    /**
-    * This method is used to upload a file to a remote server.
-    * @param localFile Pointer to the FILE structure. If the file being retrieved is binary, use "r+" attributes in fopen function.
-    * @param remoteFile Full or relative path to the file on the remote side.
-    * @return True if putting the file succeeds. False on any error.
-    */
-    bool put (FILE* localFile, const char* remoteFile);
-
-    /**
-    * This method is used to remove a file on a remote server.
-    * @param remoteFile Full or relative path to the file on the remote side.
-    * @return True if remove succeeds. False on any error.
-    */
-    bool rm (const char* remoteFile);
-
-    /**
-    * This method is used to rename/move files.
-    * @param oldFile Full or relative path to an old file on the remote server.
-    * @param newFile Full or relative path to a new file on the remote side.
-    * @return True if renaming successfull. False on any error.
-    */
-    bool mv (const char* oldFile, const char* newFile);
-
-    /**
-    * This method is used to create a new directory.
-    * @param remoteDir Full or relative path to a new directory on the remote server.
-    * @return True if the directory successfully created. False on any error.
-    */
-    bool mkdir (const char* remoteDir);
-
-    /**
-    * This method is used to remove a remote directory.
-    * @param remoteDir Full or relative path to a directory to be removed.
-    * @return True if the directory successfully removed. False on any error.
-    */
-    bool rmdir (const char* remoteDir);
-
-    /**
-    * This methods is used retrieve a listing of a remote directory.
-    * @param remoteDir Full or relative path to a directory.
-    * @param longNames If set to "true" the returned string in addition to file strings will contain attributes for each file.
-    * @return A pointer to a string containing the directory listing.
-    */
-    const char* ls (const char* remoteDir, bool longNames=false);
-
-    /**
-    * This method is used to change the current working directory.
-    * @param remoteDir Full or relative path to the new working directory on the remote server.
-    * @return True if change of directory succedded. False on any error.
-    */
-    bool cd (const char* remoteDir);
-
-    /**
-    * This method is used for changing the permissions associated with a remote file.
-    * @param remoteFile Full or relative path to the remote file.
-    * @param mode Mode string. It can be either a numerical mode expression such as "755" or an expression showing the modifications to be made, such as "ug+w". Mode string is the same as used by *nix chmod command.
-    * @return True if the new permissions are succesfully applied to the remote file. False on any error.
-    */
-    bool chmod (const char* remoteFile, const char* mode);
-
-    /**
-    * This method is used to change the owner of a remote file.
-    * @param remoteFile Full or relative path to the remote file.
-    * @param uid Numerical new owner user ID.
-    * @param gid Numerical new owner group ID.
-    * @return True if the change of ownership succeeds. False on any error.
-    */
-    bool chown (const char* remoteFile, uint32_t uid, uint32_t gid = 0);
-
-    /**
-    * This method is used to determine if a remote inode is a regular file.
-    * @param remoteFile Full or relative path to the remote inode.
-    * @return True if the remote inode is a regular file. Otherwise false.
-    */
-    bool isFile (const char* remoteFile);
-
-    /**
-    * This method is used to determine if a remote inode is a directory.
-    * @param remoteFile Full or relative path to the remote file.
-    * @return True if the remote inode is a directory. Otherwise false.
-    */
-    bool isDir (const char* remoteFile);
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_channel.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_channel.cpp
deleted file mode 100644
index 2f31e19a6d6..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_channel.cpp
+++ /dev/null
@@ -1,456 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_transport.h"
-#include "ne7ssh_channel.h"
-#include "ne7ssh_session.h"
-#include "ne7ssh.h"
-
-using namespace Botan;
-
-//uint32 ne7ssh_channel::channelCount = 0;
-
-ne7ssh_channel::ne7ssh_channel(ne7ssh_session *_session) : eof(false), closed(false), cmdComplete(false), shellSpawned(false), session(_session), channelOpened(false)
-{
-}
-
-ne7ssh_channel::~ne7ssh_channel()
-{
-}
-
-uint32 ne7ssh_channel::open (uint32 channelID)
-{
-  ne7ssh_string packet;
-  ne7ssh_transport *_transport = session->transport;
-
-  packet.addChar (SSH2_MSG_CHANNEL_OPEN);
-  packet.addString ("session");
-  packet.addInt (channelID);
-//  ne7ssh_channel::channelCount++;
-  windowSend = 0;
-  windowRecv = MAX_PACKET_LEN - 2400;
-  packet.addInt (windowRecv);
-  packet.addInt (MAX_PACKET_LEN);
-
-  if (!_transport->sendPacket (packet.value())) return 0;
-  if (!_transport->waitForPacket (SSH2_MSG_CHANNEL_OPEN_CONFIRMATION))
-  {
-    ne7ssh::errors()->push (-1, "New channel: %i could not be open.", channelID);
-    return 0;
-  }
-  if (handleChannelConfirm ())
-  {
-    channelOpened = true;
-    return channelID;
-//    return (ne7ssh_channel::channelCount - 1);
-  }
-  else return 0;
-}
-
-bool ne7ssh_channel::handleChannelConfirm ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> packet;
-  _transport->getPacket (packet);
-  ne7ssh_string channelConfirm (packet, 1);
-  uint32 field;
-
-  // Receive Channel
-  field = channelConfirm.getInt();
-  // Send Channel
-  field = channelConfirm.getInt();
-  session->setSendChannel (field);
-
-  // Window Size
-  field = channelConfirm.getInt();
-  windowSend = field;
-
-  // Max Packet
-  field = channelConfirm.getInt();
-  session->setMaxPacket (field);
-  return true;
-}
-
-bool ne7ssh_channel::adjustWindow (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string adjustWindow (packet, 0);
-  ne7ssh_string newPacket;
-  uint32 field;
-
-  // channel number
-  field = adjustWindow.getInt();
-
-  // add bytes to the window
-  field = adjustWindow.getInt();
-  windowSend += field;
-  return true;
-}
-
-bool ne7ssh_channel::handleEof (Botan::SecureVector<Botan::byte>& /* packet */)
-{
-  this->cmdComplete = true;
-  windowRecv = 0;
-  eof = true;
-  if (!closed) sendClose();
-  closed = true;
-  channelOpened = false;
-  ne7ssh::errors()->push (session->getSshChannel(), "Remote side responded with EOF.");
-  return false;
-}
-
-void ne7ssh_channel::handleClose (Botan::SecureVector<Botan::byte>& /* newPacket */)
-{
-  //ne7ssh_string packet;
-
-  if (!closed) sendClose ();
-  windowRecv = 0;
-  closed = true;
-  channelOpened = false;
-}
-
-bool ne7ssh_channel::handleDisconnect (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string message (packet, 0);
-//  uint32 reasonCode = message.getInt ();
-  SecureVector<Botan::byte> description;
-
-  message.getString (description);
-  windowSend = windowRecv = 0;
-  closed = true;
-  channelOpened = false;
-
-  ne7ssh::errors()->push (session->getSshChannel(), "Remote Site disconnected with Error: %B.",  &description);
-  return false;
-}
-
-bool ne7ssh_channel::sendClose ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_string packet;
-
-  if (closed) return false;
-  packet.addChar (SSH2_MSG_CHANNEL_CLOSE);
-  packet.addInt (session->getSendChannel());
-
-  if (!_transport->sendPacket (packet.value())) return false;
-  windowSend = 0;
-  windowRecv = 0;
-  closed = true;
-  return true;
-}
-
-bool ne7ssh_channel::sendEof ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_string packet;
-
-  if (closed) return false;
-  packet.addChar (SSH2_MSG_CHANNEL_EOF);
-  packet.addInt (session->getSendChannel());
-
-  if (!_transport->sendPacket (packet.value())) return false;
-  windowSend = 0;
-  windowRecv = 0;
-  closed = true;
-  return true;
-}
-
-void ne7ssh_channel::sendAdjustWindow ()
-{
-  uint32 len = session->getMaxPacket () - windowRecv - 2400;
-  ne7ssh_string packet;
-  ne7ssh_transport *_transport = session->transport;
-
-  packet.addChar (SSH2_MSG_CHANNEL_WINDOW_ADJUST);
-  packet.addInt (session->getSendChannel());
-  packet.addInt (len);
-  windowRecv = len;
-
-  _transport->sendPacket (packet.value());
-}
-
-bool ne7ssh_channel::handleData (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string handleData (packet, 0);
-  uint32 channelID;
-  SecureVector<Botan::byte> data;
-
-  channelID = handleData.getInt();
-
-  if (!handleData.getString (data)) return false;
-  if (!data.size())
-		ne7ssh::errors()->push (session->getSshChannel(), "Abnormal. End of stream detected.");
-  if (inBuffer.length()) inBuffer.chop(1);
-  inBuffer.addVector (data);
-  if (inBuffer.length()) inBuffer.addChar(0x00);
-  windowRecv -= data.size();
-  if (windowRecv == 0) sendAdjustWindow ();
-  return true;
-}
-
-bool ne7ssh_channel::handleExtendedData (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string handleData (packet, 0);
-  uint32 channelID, dataType;
-  SecureVector<Botan::byte> data;
-
-  channelID = handleData.getInt();
-  dataType = handleData.getInt();
-  if (dataType != 1)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Unable to handle received request.");
-    return false;
-  }
-
-  if (handleData.getString (data))
-    ne7ssh::errors()->push (session->getSshChannel(), "Remote side returned the following error: %B", &data);
-  else return false;
-
-  windowRecv -= data.size();
-  if (windowRecv == 0) sendAdjustWindow ();
-  return true;
-}
-
-void ne7ssh_channel::handleRequest (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string handleRequest (packet, 0);
-  uint32 channelID;
-  SecureVector<Botan::byte> field;
-  uint32 signal;
-
-  channelID = handleRequest.getInt();
-  handleRequest.getString (field);
-  if (!memcmp((char*)field.begin(), "exit-signal", 11))
-    ne7ssh::errors()->push (session->getSshChannel(),	"exit-signal ignored.");
-  else if (!memcmp((char*)field.begin(), "exit-status", 11))
-  {
-    handleRequest.getByte();
-    signal = handleRequest.getInt();
-    ne7ssh::errors()->push (session->getSshChannel(), "Remote side exited with status: %i.", signal);
-  }
-
-//  handleRequest.getByte();
-//  handleRequest.getString (field);
-}
-
-bool ne7ssh_channel::execCmd (const char* cmd)
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_string packet;
-
-  if (this->shellSpawned)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Remote shell is running. This command cannot be executed.");
-    return false;
-  }
-
-  packet.clear();
-  packet.addChar (SSH2_MSG_CHANNEL_REQUEST);
-  packet.addInt (session->getSendChannel());
-  packet.addString ("exec");
-  packet.addChar (0);
-  packet.addString (cmd);
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  cmdComplete = false;
-  return true;
-}
-
-void ne7ssh_channel::getShell ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_string packet;
-
-  packet.clear();
-  packet.addChar (SSH2_MSG_CHANNEL_REQUEST);
-  packet.addInt (session->getSendChannel());
-  packet.addString ("pty-req");
-  packet.addChar (0);
-  packet.addString ("dumb");
-  packet.addInt (80);
-  packet.addInt (24);
-  packet.addInt (0);
-  packet.addInt (0);
-  packet.addString ("");
-  if (!_transport->sendPacket (packet.value())) return;
-
-  packet.clear();
-  packet.addChar (SSH2_MSG_CHANNEL_REQUEST);
-  packet.addInt (session->getSendChannel());
-  packet.addString ("shell");
-  packet.addChar (0);
-  if (!_transport->sendPacket (packet.value())) return;
-  this->shellSpawned = true;
-}
-
-void ne7ssh_channel::receive ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> packet;
-  uint32 padLen;
-  bool notFirst = false;
-  short status;
-
-  if (eof)
-  {
-    return;
-  }
-
-  while ((status = _transport->waitForPacket (0, notFirst)))
-  {
-    if (status == -1)
-    {
-      eof = true;
-      closed = true;
-      channelOpened = false;
-      return;
-    }
-    if (!notFirst) notFirst = true;
-    padLen = _transport->getPacket (packet);
-    handleReceived (packet);
-  }
-}
-
-bool ne7ssh_channel::handleReceived (Botan::SecureVector<Botan::byte>& _packet)
-{
-  ne7ssh_string newPacket;
-  Botan::byte cmd;
-
-  newPacket.addVector (_packet);
-  cmd = newPacket.getByte();
-  switch (cmd)
-  {
-    case SSH2_MSG_CHANNEL_WINDOW_ADJUST:
-      adjustWindow(newPacket.value());
-      break;
-
-    case SSH2_MSG_CHANNEL_DATA:
-      return handleData (newPacket.value());
-      break;
-
-    case SSH2_MSG_CHANNEL_EXTENDED_DATA:
-      handleExtendedData(newPacket.value());
-      break;
-
-    case SSH2_MSG_CHANNEL_EOF:
-      return handleEof (newPacket.value());
-      break;
-
-    case SSH2_MSG_CHANNEL_CLOSE:
-      handleClose (newPacket.value());
-      break;
-
-    case SSH2_MSG_CHANNEL_REQUEST:
-      handleRequest (newPacket.value());
-      break;
-
-    case SSH2_MSG_IGNORE:
-      break;
-
-    case SSH2_MSG_DISCONNECT:
-      return handleDisconnect(newPacket.value());
-      break;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Unhandled command encountered: %i.", cmd);
-      return false;
-    }
-    return true;
-}
-
-void ne7ssh_channel::write (Botan::SecureVector<Botan::byte>& data)
-{
-  SecureVector<Botan::byte> dataBuff, outBuff, delayedBuff;
-  uint32 len, maxBytes, i, dataStart;
-
-  if (delayedBuffer.length())
-  {
-    dataBuff.set (delayedBuffer.value());
-    delayedBuffer.clear();
-  }
-  dataBuff.append (data);
-
-  if (!windowSend) delayedBuff.set (dataBuff);
-  else if (windowSend < dataBuff.size())
-  {
-    outBuff.append (dataBuff.begin(), windowSend);
-    delayedBuff.set (dataBuff.begin() + windowSend, dataBuff.size() - windowSend);
-  }
-  else outBuff.append (dataBuff);
-
-  if (delayedBuff.size()) delayedBuffer.addVector (delayedBuff);
-  if (!outBuff.size()) return;
-
-  len = outBuff.size();
-  windowSend -= len;
-
-  maxBytes = session->getMaxPacket();
-  for (i = 0; len > maxBytes - 64; i++)
-  {
-    dataStart = maxBytes * i;
-    if (i) dataStart -= 64;
-    dataBuff.set (outBuff.begin() + dataStart, maxBytes - 64);
-    outBuffer.addVector (dataBuff);
-    len -= maxBytes - 64;
-  }
-  if (len)
-  {
-    dataStart = maxBytes * i;
-    if (i) dataStart -= 64;
-    dataBuff.set (outBuff.begin() + dataStart, len);
-    outBuffer.addVector (dataBuff);
-    inBuffer.clear();
-  }
-}
-
-void ne7ssh_channel::sendAll ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> tmpVar;
-  ne7ssh_string packet;
-
-  if (!outBuffer.length() && delayedBuffer.length())
-  {
-    tmpVar.swap(delayedBuffer.value());
-    delayedBuffer.clear();
-    write (tmpVar);
-  }
-  if (!outBuffer.length()) return;
-  packet.clear();
-  packet.addChar (SSH2_MSG_CHANNEL_DATA);
-  packet.addInt (session->getSendChannel());
-  packet.addVectorField (outBuffer.value());
-
-  windowSend -= outBuffer.length();
-  inBuffer.clear();
-  if (!_transport->sendPacket (packet.value())) return;
-  else outBuffer.clear();
-
-}
-
-bool ne7ssh_channel::adjustRecvWindow (int bufferSize)
-{
-  windowRecv -= bufferSize;
-  if (windowRecv == 0) sendAdjustWindow ();
-  return true;
-}
-
-void ne7ssh_channel::resetReceiveBuffer()
-{
-  inBuffer.clear();
-}
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_channel.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_channel.h
deleted file mode 100644
index 6b9d0526c8b..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_channel.h
+++ /dev/null
@@ -1,228 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_CHANNEL_H
-#define NE7SSH_CHANNEL_H
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_string.h"
-
-class ne7ssh_session;
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_channel
-{
-  private:
-    bool eof, closed;
-    bool cmdComplete;
-    bool shellSpawned;
-
-//    static uint32 channelCount;
-    ne7ssh_session *session;
-    ne7ssh_string inBuffer;
-    ne7ssh_string outBuffer;
-    ne7ssh_string delayedBuffer;
-
-    /**
-     * This function is used to handle the 'CHANNEL_OPEN_CONFIRMATION' packet.
-     * <p> After parsing the payload, send channel ID is assigned, along with send windows size and maximum packer size.
-     * @return Always returns true.
-     */
-    bool handleChannelConfirm ();
-
-    /**
-     * This function is used to handle the 'WINDOWS_ADJUST' packet.
-     * <p>It's used to increase our sending window size.
-     * @param packet Reference to vector containing WINDOW_ADJUST packet.
-     * @return If parsing of payload is successful, returns true, otherwise false is returned.
-     */
-    bool adjustWindow (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-     * This function is used to handle the 'DATA' packet.
-     * <p>It's used to parse the payload, and add received data to the buffer.
-     * @param packet Reference to vector containing 'DATA' packet.
-     * @return If parsing of payload is successful, returns true, otherwise false is returned.
-     */
-    virtual bool handleData (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-     * This function is used to handle 'EXTENDED_DATA' packet. This packet is mostly used to transmit remote side errors.
-     * @param packet Reference to vector containing 'EXTENDED_DATA' packet.
-     * @return If parsing of payload is successful, returns true, otherwise false is returned.
-     */
-    bool handleExtendedData (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-     * This function is used to handle the 'EOF' packet.
-     * <p>It's  used  to close the receiving window and channel.
-     * @param packet Reference to vector containing EOF packet.
-     */
-    bool handleEof (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-     * This function is used to handle the 'CLOSE' packet.
-     * <p> If the close action wasn't initiated on this end, we also send a 'CLOSE' packet to the remote side, prompting the closing of remote side's receiving channel.
-     * @param packet Reference to vector containing the 'CLOSE' packet.
-     */
-    void handleClose (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-     * This function is used to handle the 'REQUEST' packet.
-     * <p> At this point only two requests are supported, namely "exit-signal" and "exit-status". For the most part we ignore this packet, which is safe to do according to SSH specs.
-     * @param packet Reference to vector containing the 'REQUEST' packet.
-     */
-    void handleRequest (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-     * This function is used to handle the 'DISCONNECT' packet.
-     * <p> In normal operation we should not get this packet. Only if some serious error occurs, and makes remote side drop the connection, will this packet be received. And at that point we disconnect right away, and throw an error.
-     * @param packet Reference to vector containing the 'DISCONNECT' packet.
-     */
-    bool handleDisconnect (Botan::SecureVector<Botan::byte>& packet);
-
-  protected:
-    uint32 windowRecv, windowSend;
-
-    bool channelOpened;
-
-    /**
-     * Request adjustment of the send window size on the remote end, so we can receive more data.
-     */
-    void sendAdjustWindow ();
-
-  public:
-    /**
-     * ne7ssh_channel class consturctor.
-     * @param _session Pointer to ne7ssh_session.
-     */
-    ne7ssh_channel(ne7ssh_session* _session);
-
-    /**
-     * ne7ssh_channel class destructor.
-     */
-    virtual ~ne7ssh_channel();
-
-    /**
-     * Requests 'CHANNEL_OPEN' from the remote side.
-     * @param channelID New receiving channel ID.
-     * @return Returns new channel ID, or 0 if open fails.
-     */
-    uint32 open (uint32 channelID);
-
-    /**
-     * Requests shell from remote side. Does not wait for or expect a reply. According to SSH specs that's an acceptable behavior.
-     */
-    void getShell ();
-
-    /**
-     * Executes a single command on the remote end and terminates the connection.
-     * @param cmd Remote command to execute.
-     * @return True if command if sening of a command succeded. False returned on failure.
-     */
-    bool execCmd (const char* cmd);
-
-    /**
-     * Receives new packet from remote side. This function is mostly used from selectThread.
-     */
-    void receive ();
-
-    /**
-    * Handle a packet received from remote side.
-    * @param _packet Reference to a newly received packet.
-    * @return True if the packet successfully processed. False on any error.
-    */
-    bool handleReceived (Botan::SecureVector<Botan::byte>& _packet);
-
-    /**
-     * Pushes a new command to the buffer where the selectThread will catch and send it.
-     * @param data Reference to vector containing a command to be added to the buffer.
-     */
-    void write (Botan::SecureVector<Botan::byte>& data);
-
-    /**
-     * Sends the entire buffer. Most often called from selectThread via ne7ssh_connection class.
-     */
-    void sendAll ();
-
-    /**
-     * Checks if there is any data waiting to be sent. Most often called from selectThread via ne7ssh_connection class.
-     * @return True if there is data to send, otherwise false is returned.
-     */
-    bool data2Send () { if (outBuffer.length() || delayedBuffer.length()) return true; else return false; }
-
-    /**
-     * Checks if current channel is in an open state.
-     * @return True if channel is open, otherwise false is returned.
-     */
-    bool isOpen () { return channelOpened; }
-
-    /**
-     * When closing a channel, initiates the closing procedure.
-     * @return False if sending fails. Otherwise true is returned.
-     */
-    bool sendClose ();
-
-    /**
-     * Send EOF to the remote side.
-     * @return True if sending succeeds, otherwise false.
-     */
-    bool sendEof ();
-
-    /**
-     * Gets last received packet.
-     * @return Reference to a vector containing the last received packet.
-     */
-    Botan::SecureVector<Botan::byte>& getReceived () { return inBuffer.value(); }
-
-    /**
-    * When executing a single command with ne7ssh::sendCmd this command is used to determine when remote side finishes the execution.
-    * @return True if execution of the command is complete. Otherwise false.
-    */
-    bool getCmdComplete () { return cmdComplete; }
-
-    /**
-    * Determines if the shell has been spawned on the remote side.
-    * @return True if the shell has been spawned. Otherwise false.
-    */
-    bool isRemoteShell () { return shellSpawned; }
-
-    /**
-    * Checks if receive window needs adjusting, if so send a window adjust request.
-    * @param bufferSize Current buffer size.
-    * @return False on any error, otherwise true.
-    */
-    bool adjustRecvWindow (int bufferSize);
-
-    /**
-    * Gets the current size of the receive window.
-    * @return Size of the revceive window.
-    */
-    uint32 getRecvWindow () { return windowRecv; }
-
-    /**
-    * Gets the current size of the send window.
-    * @return Size of the send window.
-    */
-    uint32 getSendWindow () { return windowSend; }
-
-    /** Empties the receive buffer. */
-    void resetReceiveBuffer();
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_connection.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_connection.cpp
deleted file mode 100644
index 7361dba4d80..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_connection.cpp
+++ /dev/null
@@ -1,350 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_connection.h"
-#include "ne7ssh_kex.h"
-#include "ne7ssh.h"
-
-using namespace Botan;
-
-ne7ssh_connection::ne7ssh_connection(void (*callbackFunc)(void *),
-    void *callbackArg)
-    : sock (-1), thisChannel(0), sftp(0), connected(false), cmdRunning(false),
-      cmdClosed(false), callbackFunc(callbackFunc), callbackArg(callbackArg)
-{
-  session = new ne7ssh_session();
-  crypto = new ne7ssh_crypt(session);
-  transport = new ne7ssh_transport(session);
-  channel = new ne7ssh_channel(session);
-  session->transport = transport;
-  session->crypto = crypto;
-}
-
-
-ne7ssh_connection::~ne7ssh_connection()
-{
-  delete channel;
-  delete transport;
-  delete crypto;
-  delete session;
-
-  if (sftp) delete sftp;
-}
-
-int ne7ssh_connection::connectWithPassword (uint32 channelID, const char *host, uint32 port, const char* username, const char* password, bool shell, int timeout)
-{
-  sock = transport->establish (host, port, timeout);
-  if (sock == -1) return -1;
-
-  if (!checkRemoteVersion()) return -1;
-  if (!sendLocalVersion()) return -1;
-
-  ne7ssh_kex kex (session);
-  if (!kex.sendInit()) return -1;
-  if (!kex.handleInit ()) return -1;
-
-  if (!kex.sendKexDHInit()) return -1;
-  if (!kex.handleKexDHReply()) return -1;
-
-  if (!kex.sendKexNewKeys()) return -1;
-
-  if (!requestService("ssh-userauth")) return -1;
-  if (!authWithPassword (username, password)) return -1;
-
-  thisChannel = channel->open(channelID);
-  if (!thisChannel) return -1;
-
-  if (shell)
-    channel->getShell ();
-
-  connected = true;
-  this->session->setSshChannel (thisChannel);
-  return thisChannel;
-}
-
-int ne7ssh_connection::connectWithKey (uint32 channelID, const char *host, uint32 port, const char* username, const char* privKeyFileName, bool shell, int timeout)
-{
-  sock = transport->establish (host, port, timeout);
-  if (sock == -1) return -1;
-
-  if (!checkRemoteVersion()) return -1;
-  if (!sendLocalVersion()) return -1;
-
-  ne7ssh_kex kex (session);
-  if (!kex.sendInit()) return -1;
-  if (!kex.handleInit ()) return -1;
-
-  if (!kex.sendKexDHInit()) return -1;
-  if (!kex.handleKexDHReply()) return -1;
-
-  if (!kex.sendKexNewKeys()) return -1;
-
-  if (!requestService("ssh-userauth")) return -1;
-  if (!authWithKey (username, privKeyFileName)) return -1;
-
-  thisChannel = channel->open(channelID);
-  if (!thisChannel) return -1;
-
-  if (shell)
-    channel->getShell ();
-
-  connected = true;
-
-  this->session->setSshChannel (thisChannel);
-  return thisChannel;
-}
-
-
-bool ne7ssh_connection::requestService (const char* service)
-{
-
-  ne7ssh_string packet;
-  packet.addChar (SSH2_MSG_SERVICE_REQUEST);
-  packet.addString (service);
-
-  if (!transport->sendPacket (packet.value())) return false;
-  if (!transport->waitForPacket (SSH2_MSG_SERVICE_ACCEPT))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Service request failed.");
-    return false;
-  }
-  return true;
-}
-
-bool ne7ssh_connection::authWithPassword (const char* username, const char* password)
-{
-  short _cmd;
-  ne7ssh_string packet;
-  SecureVector<Botan::byte> response;
-  Botan::byte canContinue;
-  SecureVector<Botan::byte> methods;
-
-
-  packet.addChar (SSH2_MSG_USERAUTH_REQUEST);
-  packet.addString (username);
-  packet.addString ("ssh-connection");
-  packet.addString ("password");
-  packet.addChar ('\0');
-  packet.addString (password);
-
-  if (!transport->sendPacket (packet.value())) return false;
-  _cmd = transport->waitForPacket (0);
-  if (_cmd == SSH2_MSG_USERAUTH_SUCCESS)
-  {
-    return true;
-  }
-  else if (_cmd == SSH2_MSG_USERAUTH_BANNER)
-  {
-    packet.clear();
-    packet.addString (password);
-    if (!transport->sendPacket (packet.value())) return false;
-      _cmd = transport->waitForPacket (0);
-    if (_cmd == SSH2_MSG_USERAUTH_SUCCESS) return true;
-  }
-
-  if (_cmd == SSH2_MSG_USERAUTH_FAILURE)
-  {
-    transport->getPacket (response);
-    ne7ssh_string message (response, 1);
-    message.getString (methods);
-    canContinue = message.getByte();
-    ne7ssh::errors()->push (-1, "Authentication failed. Supported authentication methods: %B", &methods);
-    return false;
-  }
-  else return false;
-}
-
-bool ne7ssh_connection::authWithKey (const char* username, const char* privKeyFileName)
-{
-  ne7ssh_keys keyPair;
-  ne7ssh_string packet, packetBegin, packetEnd;
-  SecureVector<Botan::byte> pubKeyBlob, sigBlob;
-  if (!keyPair.getKeyPairFromFile (privKeyFileName))
-    return false;
-  short _cmd;
-  SecureVector<Botan::byte> response;
-  Botan::byte canContinue;
-  SecureVector<Botan::byte> methods;
-
-  packetBegin.addChar (SSH2_MSG_USERAUTH_REQUEST);
-  packetBegin.addString (username);
-  packetBegin.addString ("ssh-connection");
-  packetBegin.addString ("publickey");
-
-  switch (keyPair.getKeyAlgo())
-  {
-    case ne7ssh_keys::DSA:
-      packetEnd.addString ("ssh-dss");
-      break;
-
-    case ne7ssh_keys::RSA:
-      packetEnd.addString ("ssh-rsa");
-      break;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "The key algorithm: %i is not supported.", keyPair.getKeyAlgo());
-      return false;
-  }
-  pubKeyBlob = keyPair.getPublicKeyBlob();
-  if (!pubKeyBlob.size())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Invallid public key.");
-    return false;
-  }
-  packetEnd.addVectorField (pubKeyBlob);
-
-  packet.addVector (packetBegin.value());
-  packet.addChar (0x0);
-  packet.addVector (packetEnd.value());
-
-  if (!transport->sendPacket (packet.value())) return false;
-
-  _cmd = transport->waitForPacket (0);
-  if (_cmd == SSH2_MSG_USERAUTH_FAILURE)
-  {
-    transport->getPacket (response);
-    ne7ssh_string message (response, 1);
-    message.getString (methods);
-    canContinue = message.getByte();
-    ne7ssh::errors()->push (-1, "Authentication failed. Supported methods are: %B", &methods);
-    return false;
-  }
-  else if (_cmd != SSH2_MSG_USERAUTH_PK_OK) return false;
-
-  packet.clear();
-  packet.addVector (packetBegin.value());
-  packet.addChar (0x1);
-  packet.addVector (packetEnd.value());
-
-  sigBlob = keyPair.generateSignature (session->getSessionID(), packet.value());
-  if (!sigBlob.size())
-  {
-      ne7ssh::errors()->push (session->getSshChannel(), "Failure while generating the signature.");
-      return false;
-  }
-
-  packet.addVectorField (sigBlob);
-  if (!transport->sendPacket (packet.value())) return false;
-
-  _cmd = transport->waitForPacket (0);
-  if (_cmd == SSH2_MSG_USERAUTH_SUCCESS) return true;
-  else if (_cmd == SSH2_MSG_USERAUTH_FAILURE)
-  {
-    transport->getPacket (response);
-    ne7ssh_string message (response, 1);
-    message.getString (methods);
-    canContinue = message.getByte();
-    ne7ssh::errors()->push (-1, "Authentication failed. Supported methods are: %B", &methods);
-    return false;
-  }
-  else return false;
-}
-
-bool ne7ssh_connection::checkRemoteVersion ()
-{
-  SecureVector<Botan::byte> remoteVer, tmpVar;
-  Botan::byte* _pos;
-  if (!transport->receive (remoteVer)) return false;
-
-  if (remoteVer.size() < 4 || \
-      (memcmp (remoteVer.begin(), "SSH-1.99", 8) && memcmp (remoteVer.begin(), "SSH-2", 5)))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Remote SSH version is not supported. Remote version: %B.", &remoteVer);
-    return false;
-  }
-  else
-  {
-    _pos = remoteVer.end() - 1;
-    while (*_pos == '\r' || *_pos == '\n') _pos--;
-    tmpVar.set (remoteVer.begin(), _pos - remoteVer.begin() + 1);
-    session->setRemoteVersion (tmpVar);
-    return true;
-  }
-}
-
-bool ne7ssh_connection::sendLocalVersion ()
-{
-  SecureVector<Botan::byte> localVer ((const Botan::byte*)ne7ssh::SSH_VERSION, (uint32_t) strlen(ne7ssh::SSH_VERSION));
-  session->setLocalVersion (localVer);
-  localVer.append ((const Botan::byte*)"\r\n", 2);
-
-  if (!transport->send (localVer)) return false;
-  else return true;
-}
-
-void ne7ssh_connection::handleData ()
-{
-  channel->receive();
-  if (callbackFunc && getReceived().size() > 0)
-      callbackFunc(callbackArg);
-}
-
-void ne7ssh_connection::sendData (const char* data)
-{
-  SecureVector<Botan::byte> _cmd ((const Botan::byte *) data, (uint32_t) strlen(data));
-  channel->write (_cmd);
-}
-
-bool ne7ssh_connection::sendCmd (const char* cmd)
-{
-  cmdRunning = true;
-  return channel->execCmd(cmd);
-}
-
-Ne7sshSftp* ne7ssh_connection::startSftp ()
-{
-  if (channel->isRemoteShell())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Remote shell is running. SFTP subsystem cannot be started.");
-    return 0;
-  }
-  sftp = new Ne7sshSftp (session, channel);
-
-  if (sftp->init()) return sftp;
-  else
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failure to launch remote sftp subsystem.");
-    return 0;
-  }
-
-  return 0;
-}
-
-bool ne7ssh_connection::sendClose ()
-{
-  bool status;
-  if (channel->isOpen() && !isSftpActive()) return (channel->sendClose ());
-  else if (getCmdComplete()) cmdClosed=true;
-  if (isSftpActive())
-  {
-    delete sftp;
-    sftp = 0;
-    status = channel->sendClose ();
-    return status;
-  }
-  else return false;
-}
-
-bool ne7ssh_connection::isSftpActive ()
-{
-  if (sftp) return true;
-  else return false;
-}
-
-void ne7ssh_connection::resetReceiveBuffer()
-{
-    channel->resetReceiveBuffer();
-}
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_connection.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_connection.h
deleted file mode 100644
index 182b48294fc..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_connection.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_CONNECTION_H
-#define NE7SSH_CONNECTION_H
-
-#include "ne7ssh_transport.h"
-#include "ne7ssh_session.h"
-#include "ne7ssh_channel.h"
-#include "ne7ssh_keys.h"
-#include "crypt.h"
-#include "ne7ssh_types.h"
-#include "ne7ssh_string.h"
-#include "ne7ssh_sftp.h"
-
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_connection
-{
-  private:
-    SOCKET sock;
-    int thisChannel;
-    ne7ssh_crypt *crypto;
-    ne7ssh_transport *transport;
-    ne7ssh_session *session;
-    ne7ssh_channel *channel;
-    Ne7sshSftp* sftp;
-
-    Ne7ssh_Mutex mut;
-    bool connected;
-    bool cmdRunning;
-    bool cmdClosed;
-
-    void (*callbackFunc)(void *);
-    void *callbackArg;
-
-    /**
-     * Checks if remote side is returning a correctly formated SSH version string, and makes sure that version 2 of SSH protocol is supported by the remote side.
-     * @return False if version string is malformed, or version 2 is not supported, otherwise true is returned.
-     */
-    bool checkRemoteVersion ();
-
-    /**
-     * Sends local version string.
-     * @return Returns false is there any communication errors occur, otherwise true is returned.
-     */
-    bool sendLocalVersion ();
-
-    /**
-     * Sends an SSH service request, waits for 'SERVICE_ACCEPT' packet.
-     * @param service pointer to a string containing the requested SSH service. For example "ssh-userauth".
-     * @return True If SERVICE_ACCEPT packet was received, otherwise false is returned.
-     */
-    bool requestService (const char* service);
-
-    /**
-     * Sends an authentication request of "password" type. Waits for packet 'USERAUTH_SUCESS'.
-     * @param username Username used for authentication.
-     * @param password Password used for authentication.
-     * @return True if authentication was successful, otherwise false is returned.
-     */
-    bool authWithPassword (const char* username, const char* password);
-
-    /**
-     * Sends a test message to check if "publickey" authentication is allowed fo specified user.
-     * If succesfull proceeds wtih generating a signature and sending real authentication packet
-     * of "publickey" type.
-     * @param username Username used for authentication.
-     * @param privKeyFileName Full path to file containing private key to be used in authentication.
-     * @return True if authentication was successful, otherwise false is returned.
-     */
-    bool authWithKey (const char* username, const char* privKeyFileName);
-
-  public:
-    /**
-     * ne7ssh_connection class constructor.
-     */
-    ne7ssh_connection(void (*callbackFunc)(void *) = 0, void *callbackArg = 0);
-
-    /**
-     * ne7ssh_connection class destructor.
-     */
-    ~ne7ssh_connection();
-
-    /**
-     * Connects to a remote host using SSH protocol version 2, with password based authentication.
-     * @param channelID ID of the new channel.
-     * @param host Hostname / IP of the remote host.
-     * @param port Connection port.
-     * @param username Username to use in the authentication.
-     * @param password Password to use in the authentication.
-     * @param shell Set this to true if you wish to launch the shell on the remote end. By default set to true.
-     * @param timeout Timeout for the connection procedure, in seconds.
-     * @return A newly assigned channel ID, or -1 if connection failed.
-     */
-    int connectWithPassword (uint32 channelID, const char *host, uint32 port, const char* username, const char* password, bool shell = true, int timeout = 0);
-
-    /**
-     * Connects to a remote host using SSH protocol version 2, with publickey based authentication.
-     * @param channelID ID assigned to the new channel.
-     * @param host Hostname / IP of the remote host.
-     * @param port Connection port.
-     * @param username Username to use in the authentication.
-     * @param privKeyFileName Full path to file containing private key to be used in authentication.
-     * @param shell Set this to true if you wish to launch the shell on the remote end. By default set to true.
-     * @param timeout Timeout for the connection procedure, in seconds.
-     * @return A newly assigned channel ID, or -1 if connection failed.
-     */
-    int connectWithKey (uint32 channelID, const char *host, uint32 port, const char* username, const char* privKeyFileName, bool shell = true, int timeout = 0);
-
-    /**
-     * Retrieves the tcp socket number.
-     * @return Socket, or -1 if not connected.
-     */
-    SOCKET getSocket () { return sock; }
-
-    /**
-     * When new data arrives, and is available for reading, this function is called from selectThread to handle it.
-     */
-    void handleData ();
-
-    /**
-     * This function is used to write commands to the buffer, later to be sent to the remote site for execution.
-     * @param data Pointer to a string, containing command to be written to the buffer.
-     */
-    void sendData (const char* data);
-
-    /**
-     * Sets the current SSH channel number.
-     */
-    void setChannelNo (int channelID) { thisChannel = channelID; }
-
-    /**
-     * Retrieves the current SSH channel.
-     * @return Returns SSH channel or -1 if not connected.
-     */
-    int getChannelNo () { return thisChannel; }
-
-    /**
-     * Checks for the data in the send buffer.
-     * @return True is there is data to send, otherwise false.
-     */
-    bool data2Send () { return channel->data2Send(); }
-
-    /**
-     * Sends the content of the buffer.,
-     *<p>Usually used after data2Send returns true, executed by selectThread.
-     */
-    void sendData () { channel->sendAll (); }
-
-    /**
-    *
-    * @param cmd
-    * @return
-    */
-    bool sendCmd (const char* cmd);
-
-    /**
-     * This function is used to close the current connection.
-     *<p>First closes the channel, and then the connection itself.
-     * @return True, if packet sent successfully, otherwise false is returned.
-     */
-    bool sendClose ();
-
-    /**
-     * Checks if channel is open.
-     * @return True if channel is open, otherwise false is returned.
-     */
-    bool isOpen () { return channel->isOpen(); }
-
-    /**
-     * Checks if process is connected and authenticated to the remote side.
-     * @return True if connected, otherwise false is returned.
-     */
-    bool isConnected () { return connected; }
-
-    /**
-     * Retrieves the last received packet.
-     * @return A reference to a buffer containing the last received packet.
-     */
-    Botan::SecureVector<Botan::byte>& getReceived () { return channel->getReceived(); }
-
-    /**
-    * When executing a single command with ne7ssh::sendCmd this command is used to determine when remote side finishes the xecution.
-    * @return True if execution of the command is complete. Otherwise false.
-    */
-    bool getCmdComplete() { return channel->getCmdComplete(); }
-
-    /**
-    * When executing a single command with ne7ssh::sendCmd this command is used to determine when the user requested a close() on the channel.
-    * @return True if the user requested to close the channel. Otherwise false.
-    */
-    bool isCmdClosed() { return cmdClosed; }
-
-    /**
-    * Determines if the shell has been spawned on the remote side.
-    * @return True if the shell has been spawned. Otherwise false.
-    */
-    bool isRemoteShell () { return channel->isRemoteShell(); }
-
-    /**
-    * Checks if current connection is executing a single command, without a shell.
-    * @return True if a single command is running. Otherwise false.
-    */
-    bool isCmdRunning () { return cmdRunning; }
-
-    /**
-    * Starts a new sftp subsystem.
-    * @return Returns a pointer to the newly started Ne7sshSftp instance.
-    */
-    Ne7sshSftp* startSftp ();
-
-    /**
-    * Checks if SFTP subsystem is active on the current connection.
-    * @return True if SFTP subsystem is active, otherwise false.
-    */
-    bool isSftpActive ();
-
-    /** Empties this connection's receive buffer. */
-    void resetReceiveBuffer();
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_error.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_error.cpp
deleted file mode 100644
index acf848bfbe0..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_error.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_error.h"
-#include <string.h>
-#include <cstdio>
-#include <botan/secmem.h>
-#include "stdarg.h"
-#include "ne7ssh.h"
-
-using namespace Botan;
-Ne7ssh_Mutex Ne7sshError::mut;
-
-Ne7sshError::Ne7sshError() : memberCount(0),  ErrorBuffer(0)
-{
-
-}
-
-Ne7sshError::~Ne7sshError()
-{
-  uint16 i;
-
-  for (i = 0; i < memberCount; i++)
-  {
-    if (ErrorBuffer[i] && ErrorBuffer[i]->errorStr) free (ErrorBuffer[i]->errorStr);
-    free (ErrorBuffer[i]);
-  }
-  free (ErrorBuffer);
-}
-
-
-bool Ne7sshError::push (int32 channel, const char* format, ...)
-{
-  va_list args;
-  char *s;
-  char* errStr = 0;
-  uint32 len = 0, msgLen = 0, _pos = 0;
-  bool isArg = false;
-  bool isUnsigned = false;
-  char converter[21];
-  SecureVector<Botan::byte> *secVec;
-  int32 i;
-
-  if (channel < -1 || !format)
-    return false;
-
-  converter[0] = 0x00;
-  len = strlen (format);
-
-  va_start (args, format);
-  errStr = (char*) malloc (len + 1);
-
-  do
-  {
-    if (*format == '%' || isArg)
-    {
-      switch (*format)
-      {
-        case '%':
-          isArg = true;
-          break;
-
-        case 'u':
-          isUnsigned = true;
-          break;
-
-        case 's':
-          s = va_arg (args, char*);
-          msgLen = strlen (s);
-          if (msgLen > MAX_ERROR_LEN) msgLen = MAX_ERROR_LEN;
-          errStr = (char*) realloc (errStr, len + msgLen + 1);
-          memcpy ((errStr + _pos), s, msgLen);
-          if (isUnsigned) len += msgLen - 3;
-          else len += msgLen - 2;
-          _pos += msgLen;
-          isUnsigned = false;
-          isArg = false;
-          break;
-
-        case 'B':
-          secVec = va_arg (args, SecureVector<Botan::byte>*);
-	  msgLen = secVec->size();
-          if (msgLen > MAX_ERROR_LEN) msgLen = MAX_ERROR_LEN;
-          errStr = (char*) realloc (errStr, len + msgLen + 1);
-          memcpy ((errStr + _pos), secVec->begin(), msgLen);
-          if (isUnsigned) len += msgLen - 3;
-          else len += msgLen - 2;
-          _pos += msgLen;
-          isUnsigned = false;
-          isArg = false;
-          break;
-
-        case 'l':
-        case 'd':
-        case 'i':
-          i = va_arg (args, int32);
-          if (isUnsigned) sprintf (converter, "%u", i);
-          else sprintf (converter, "%d", i);
-          msgLen = strlen (converter);
-          errStr = (char*) realloc (errStr, len + msgLen + 1);
-          memcpy ((errStr + _pos), converter, msgLen);
-          if (isUnsigned) len += msgLen - 3;
-          else len += msgLen - 2;
-          _pos += msgLen;
-          isUnsigned = false;
-          isArg = false;
-          break;
-
-        case 'x':
-          i = va_arg (args, int32);
-          sprintf (converter, "%x", i);
-          msgLen = strlen (converter);
-          errStr = (char*) realloc (errStr, len + msgLen + 1);
-          memcpy ((errStr + _pos), converter, msgLen);
-          if (isUnsigned) len += msgLen - 3;
-          else len += msgLen - 2;
-          _pos += msgLen;
-          isUnsigned = false;
-          isArg = false;
-          break;
-      }
-    }
-    else errStr[_pos++] = *format;
-
-  } while (*format++);
-
-  va_end (args);
-
-  if (!lock())
-  {
-    free(errStr);
-    return false;
-  }
-  if (!memberCount)
-  {
-    ErrorBuffer = (Error**) malloc (sizeof(Error*));
-    ErrorBuffer[0] = (Error*) malloc (sizeof(Error));
-  }
-  else
-  {
-    ErrorBuffer = (Error**) realloc (ErrorBuffer, sizeof(Error*) * (memberCount + 1));
-    ErrorBuffer[memberCount] = (Error*) malloc (sizeof(Error));
-  }
-
-  ErrorBuffer[memberCount]->channel = channel;
-  ErrorBuffer[memberCount]->errorStr = errStr;
-  memberCount++;
-  if (!unlock()) return false;
-  return true;
-}
-
-const char* Ne7sshError::pop ()
-{
-  return pop(-1);
-}
-
-const char* Ne7sshError::pop (int32 channel)
-{
-  uint16 i;
-  int32 recID = -1;
-  const char* result = 0;
-  uint32 len;
-
-  if (!memberCount) return 0;
-  if (!lock()) return false;
-
-  for (i = 0; i < memberCount; i++)
-  {
-    if (ErrorBuffer[i] && ErrorBuffer[i]->channel == channel)
-    {
-      recID = i;
-      result = ErrorBuffer[i]->errorStr;
-    }
-  }
-  if (recID < 0)
-  {
-    unlock();
-    return 0;
-  }
-
-  if (result)
-  {
-    len = strlen (result) < MAX_ERROR_LEN ? strlen (result) : MAX_ERROR_LEN;
-    memcpy (popedErr, result, len + 1);
-    deleteRecord (recID);
-  }
-  else
-  {
-    unlock();
-    return 0;
-  }
-  if (!unlock()) return false;
-
-  return popedErr;
-}
-
-bool Ne7sshError::deleteRecord (uint16 recID)
-{
-  uint16 i;
-
-  if (ErrorBuffer[recID] && ErrorBuffer[recID]->errorStr) free (ErrorBuffer[recID]->errorStr);
-  else return false;
-  free (ErrorBuffer[recID]);
-  ErrorBuffer[recID] = 0;
-  for (i = recID + 1; i < memberCount; i++)
-  {
-    ErrorBuffer[i - 1] = ErrorBuffer[i];
-  }
-  memberCount--;
-  return true;
-}
-
-
-bool Ne7sshError::deleteCoreMsgs ()
-{
-  return deleteChannel(-1);
-}
-
-bool Ne7sshError::deleteChannel (int32 channel)
-{
-  uint16 i, offset=0;
-
-  if (!lock()) return false;
-  for (i = 0; i < memberCount; i++)
-  {
-    if (ErrorBuffer[i] && ErrorBuffer[i]->channel == channel)
-    {
-      if (ErrorBuffer[i]->errorStr) free (ErrorBuffer[i]->errorStr);
-      free (ErrorBuffer[i]);
-      offset++;
-    }
-    else if (offset) ErrorBuffer[i - offset] = ErrorBuffer[i];
-  }
-  memberCount -= offset;
-  if (!unlock()) return false;
-  return true;
-}
-
-bool Ne7sshError::lock ()
-{
-  int status;
-  status = Ne7sshError::mut.lock();
-  if (status)
-  {
-    /// FIXME possible infinite loop
-    ne7ssh::errors()->push (-1, "Could not aquire a mutex lock. Error: %i.", status);
-    usleep (1000);
-    return false;
-  }
-  return true;
-}
-
-bool Ne7sshError::unlock ()
-{
-  int status;
-  status = Ne7sshError::mut.unlock();
-  if (status)
-  {
-    ne7ssh::errors()->push (-1, "Error while releasing a mutex lock. Error: %i.", status);
-    return false;
-  }
-  return true;
-}
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_error.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_error.h
deleted file mode 100644
index 6ed167ea945..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_error.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC		             *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_ERROR_H
-#define NE7SSH_ERROR_H
-
-#include <stdlib.h>
-#if !defined(WIN32) && !defined(__MINGW32__)
-#   include <sys/select.h>
-#endif
-
-#define MAX_ERROR_LEN 500
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_mutex.h"
-
-/**
-	@author Andrew Useckas <andrew@netsieben.com>
-*/
-class SSH_EXPORT Ne7sshError
-{
-  private:
-    uint16 memberCount;
-    char popedErr[MAX_ERROR_LEN + 1];
-    static Ne7ssh_Mutex mut;
-
-    /**
-    * Structure for storing error messages.
-    */
-    struct Error
-    {
-      int32 channel;
-      char* errorStr;
-    } **ErrorBuffer;
-
-    /**
-    * Delete a single error message.
-    * @param recID Position within the array.
-    * @return True on success, false on failure.
-    */
-    bool deleteRecord (uint16 recID);
-
-    /**
-    * Lock the mutex.
-    * @return True if lock aquired. Oterwise false.
-    */
-    static bool lock ();
-
-    /**
-    * Unlock the mutext.
-    * @return True if the mutext successfully unlocked. Otherwise false.
-    */
-    static bool unlock ();
-
-  public:
-    /**
-     * Ne7sshError constructor.
-     */
-    Ne7sshError();
-
-    /**
-     * Ne7sshError destructor.
-     */
-    ~Ne7sshError();
-
-    /**
-    * Pushes a new error message into the stack.
-    * @param channel Specifies the channel to bind the error message to. This is ne7ssh library channel, not the receive or send channels used by the transport layer.
-    * @param format Specifies the error message followed by argument in printf format. The following formatting characters are supported: %s,%d,%i,%l,%x. Modifier %u can be used together with decimal to specify an unsigned variable. Returns null if no there are no erros in the Core context.
-    * @return True on success, false on failure.
-    */
-    bool push (int32 channel, const char* format, ...);
-
-    /**
-    * Pops an error message from the Core context.
-    * @return The last error message in the Core context. The message is removed from the stack.
-    */
-    const char* pop ();
-
-    /**
-    * Pops an error message from the Channel context.
-    * @param channel Specifies the channel error message was bound to. This is ne7ssh library channel, not the receive or send channels used by the transport layer.
-    * @return The last error message in the Channel context. The message is removed from the stack. Returns null if no there are no erros in the Channel context.
-    */
-    const char* pop (int32 channel);
-
-    /**
-    * Removes all error messages within Core context from the stack.
-    * @return True on success, false on failure.
-    */
-    bool deleteCoreMsgs ();
-
-    /**
-    * Removes all error messages within Channel context from the stack.
-    * @param channel Specifies the channel error message was bound to. This is ne7ssh library channel, not the receive or send channels used by the transport layer.
-    * @return True on succes, false on failure.
-    */
-    bool deleteChannel (int32 channel);
-
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_kex.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_kex.cpp
deleted file mode 100644
index c0bfc413caa..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_kex.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_kex.h"
-#include "ne7ssh.h"
-#include <botan/rng.h>
-
-using namespace Botan;
-
-ne7ssh_kex::ne7ssh_kex(ne7ssh_session* _session) : session(_session)
-{
-}
-
-ne7ssh_kex::~ne7ssh_kex()
-{
-}
-
-void ne7ssh_kex::constructLocalKex()
-{
-  Botan::byte random[16];
-  ne7ssh_string myCiphers (ne7ssh::CIPHER_ALGORITHMS, 0);
-  ne7ssh_string myMacs (ne7ssh::MAC_ALGORITHMS, 0);
-  SecureVector<Botan::byte> tmpCiphers, tmpMacs;
-  char* cipher, *hmac;
-  size_t len;
-
-  localKex.clear();
-  localKex.addChar (SSH2_MSG_KEXINIT);
-
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  Botan::Global_RNG::randomize (random, 16);
-#else
-  ne7ssh::rng->randomize (random, 16);
-#endif
-
-  localKex.addBytes (random, 16);
-  localKex.addString (ne7ssh::KEX_ALGORITHMS);
-  localKex.addString (ne7ssh::HOSTKEY_ALGORITHMS);
-
-  if (ne7ssh::PREFERED_CIPHER)
-  {
-    myCiphers.split (',');
-    myCiphers.resetParts();
-
-    while ((cipher = myCiphers.nextPart()))
-    {
-      len = strlen (cipher);
-      if (!memcmp (cipher, ne7ssh::PREFERED_CIPHER, len)) Ciphers.append ((Botan::byte*)cipher, (uint32_t) len);
-      else
-      {
-        tmpCiphers.append (',');
-        tmpCiphers.append ((Botan::byte*)cipher, (uint32_t) len);
-      }
-    }
-  }
-  if (Ciphers.size()) Ciphers.append (tmpCiphers);
-  else Ciphers.set (myCiphers.value());
-//  Ciphers.append (&null_byte, 1);
-
-  if (ne7ssh::PREFERED_MAC)
-  {
-    myMacs.split (',');
-    myMacs.resetParts();
-
-    while ((hmac = myMacs.nextPart()))
-    {
-      len = strlen (hmac);
-      if (!memcmp (hmac, ne7ssh::PREFERED_MAC, len)) Hmacs.append ((Botan::byte*)hmac, (uint32_t) len);
-      else
-      {
-        tmpMacs.append (',');
-        tmpMacs.append ((Botan::byte*)hmac, (uint32_t) len);
-      }
-    }
-  }
-  if (Hmacs.size()) Hmacs.append (tmpMacs);
-  else Hmacs.set (myMacs.value());
-//  Hmacs.append (&null_byte, 1);
-
-  localKex.addVectorField (Ciphers);
-  localKex.addVectorField (Ciphers);
-  localKex.addVectorField (Hmacs);
-  localKex.addVectorField (Hmacs);
-  localKex.addString (ne7ssh::COMPRESSION_ALGORITHMS);
-  localKex.addString (ne7ssh::COMPRESSION_ALGORITHMS);
-  localKex.addInt (0);
-  localKex.addInt (0);
-  localKex.addChar ('\0');
-  localKex.addInt (0);
-}
-
-
-bool ne7ssh_kex::sendInit ()
-{
-  ne7ssh_transport *_transport;
-
-  if (!session->transport)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No transport. Cannot initialize key exchange.");
-    return false;
-  }
-  _transport = session->transport;
-
-  constructLocalKex();
-
-  if (!_transport->sendPacket (localKex.value())) return false;
-  if (!_transport->waitForPacket (SSH2_MSG_KEXINIT))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Timeout while waiting for key exchange init reply");
-    return false;
-  }
-
-  return true;
-}
-
-bool ne7ssh_kex::handleInit ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_crypt *_crypto = session->crypto;
-  SecureVector<Botan::byte> packet;
-  uint32 padLen = _transport->getPacket (packet);
-  ne7ssh_string remoteKex (packet, 17);
-  SecureVector<Botan::byte> algos;
-  SecureVector<Botan::byte> agreed;
-
-  if (!_transport || !_crypto) return false;
-  remotKex.clear();
-  remotKex.addBytes (packet.begin(), packet.size() - padLen - 1);
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, ne7ssh::KEX_ALGORITHMS, algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible key exchange algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedKex (agreed)) return false;
-
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, ne7ssh::HOSTKEY_ALGORITHMS, algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible Hostkey algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedHostkey (agreed)) return false;
-
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, (char*)Ciphers.begin(), algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible cryptographic algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedCryptoC2s (agreed)) return false;
-
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, (char*)Ciphers.begin(), algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible cryptographic algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedCryptoS2c (agreed)) return false;
-
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, (char*)Hmacs.begin(), algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible HMAC algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedMacC2s (agreed)) return false;
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, (char*)Hmacs.begin(), algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible HMAC algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedMacS2c (agreed)) return false;
-
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, ne7ssh::COMPRESSION_ALGORITHMS, algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible compression algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedCmprsC2s (agreed)) return false;
-
-
-  if (!remoteKex.getString (algos)) return false;
-  if (!_crypto->agree (agreed, ne7ssh::COMPRESSION_ALGORITHMS, algos))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "No compatible compression algorithms.");
-    return false;
-  }
-  if (!_crypto->negotiatedCmprsS2c (agreed)) return false;
-
-  return true;
-}
-
-bool ne7ssh_kex::sendKexDHInit ()
-{
-  ne7ssh_string dhInit;
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_crypt *_crypto = session->crypto;
-  BigInt publicKey;
-  SecureVector<Botan::byte> eVector;
-
-  if (!_crypto->getKexPublic (publicKey)) return false;
-
-  dhInit.addChar (SSH2_MSG_KEXDH_INIT);
-  dhInit.addBigInt (publicKey);
-  ne7ssh_string::bn2vector (eVector, publicKey);
-  e.clear();
-  e.addVector (eVector);
-
-  if (!_transport->sendPacket (dhInit.value())) return false;
-  if (!_transport->waitForPacket (SSH2_MSG_KEXDH_REPLY))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Timeout while waiting for key exchange dh reply.");
-    return false;
-  }
-  return true;
-}
-
-bool ne7ssh_kex::handleKexDHReply ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_crypt *_crypto = session->crypto;
-  SecureVector<Botan::byte> packet;
-  _transport->getPacket (packet);
-  ne7ssh_string remoteKexDH (packet, 1);
-  SecureVector<Botan::byte> field, fVector, hSig, kVector, hVector;
-  BigInt publicKey;
-
-  if (!remoteKexDH.getString (field)) return false;
-  hostKey.clear();
-  hostKey.addVector (field);
-
-  if (!remoteKexDH.getBigInt (publicKey)) return false;
-  ne7ssh_string::bn2vector (fVector, publicKey);
-  f.clear();
-  f.addVector (fVector);
-
-  if (!remoteKexDH.getString (hSig)) return false;
-
-  if (!_crypto->makeKexSecret (kVector, publicKey)) return false;
-  k.clear();
-  k.addVector (kVector);
-
-  makeH (hVector);
-  if (hVector.is_empty()) return false;
-  if (!_crypto->isInited()) session->setSessionID (hVector);
-
-  if (!_crypto->verifySig (hostKey.value(), hSig)) return false;
-
-  return true;
-}
-
-bool ne7ssh_kex::sendKexNewKeys ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_crypt *_crypto = session->crypto;
-  ne7ssh_string newKeys;
-
-  if (!_transport->waitForPacket (SSH2_MSG_NEWKEYS))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Timeout while waiting for key exchange newkeys reply.");
-    return false;
-  }
-
-  newKeys.addChar (SSH2_MSG_NEWKEYS);
-  if (!_transport->sendPacket (newKeys.value())) return false;
-
-  if (!_crypto->makeNewKeys())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Could not make keys.");
-    return false;
-  }
-
-  return true;
-}
-
-
-void ne7ssh_kex::makeH (Botan::SecureVector<Botan::byte> &hVector)
-{
-  ne7ssh_crypt *_crypto = session->crypto;
-  ne7ssh_string hashBytes;
-
-  hashBytes.addVectorField (session->getLocalVersion());
-  hashBytes.addVectorField (session->getRemoteVersion());
-  hashBytes.addVectorField (localKex.value());
-  hashBytes.addVectorField (remotKex.value());
-  hashBytes.addVectorField (hostKey.value());
-  hashBytes.addVectorField (e.value());
-  hashBytes.addVectorField (f.value());
-  hashBytes.addVectorField (k.value());
-
-  _crypto->computeH (hVector, hashBytes.value());
-}
-
-
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_kex.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_kex.h
deleted file mode 100644
index cd9167dd4b2..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_kex.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_KEX_H
-#define NE7SSH_KEX_H
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_session.h"
-#include "ne7ssh_string.h"
-#include "ne7ssh_transport.h"
-#include "crypt.h"
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_kex
-{
-  private:
-    ne7ssh_session* session;
-    ne7ssh_string localKex;
-    ne7ssh_string remotKex;
-    ne7ssh_string hostKey;
-    ne7ssh_string e;
-    ne7ssh_string f;
-    ne7ssh_string k;
-    Botan::SecureVector<Botan::byte> Ciphers, Hmacs;
-
-    /**
-     * Constructs local 'KEX_INIT' payload
-     */
-    void constructLocalKex();
-
-    /**
-     * Computes H hash, from concated values of the local SSH version string, remote SSH version string, local KEX_INIT payload, remote KEX_INIT payload, host key, e, f and k BigInt values.
-     * @param hVector Reference to a vecor where H value will be stored.
-     */
-    void makeH (Botan::SecureVector<Botan::byte>& hVector);
-
-  public:
-    /**
-     * ne7ssh_kex class constructor.
-     * @param _session Pointer to ne7ssh_session variable.
-     */
-    ne7ssh_kex(ne7ssh_session* _session);
-
-    /**
-     * ne7ssh_kex class destructor.
-     */
-    ~ne7ssh_kex();
-
-    /**
-     * Sends 'KEX_INIT' packet and waits for 'KEX_INIT' reply.
-     * @return True if successful, otherwise false is returned.
-     */
-    bool sendInit();
-
-    /**
-     * After sendInit() function returnes true, this functions is used to parse the received 'KEX_INIT' packet.
-     * <p> Used to agree on cipher, hmac, etc. algorithms used in communication between client and server.
-     * @return True if parsing was succesful and all algorithms agreed upon, otherwise false is returned.
-     */
-    bool handleInit();
-
-    /**
-     * Sends 'KEXDH_INIT' packet and waits for 'KEXDH_REPLY'.
-     * @return True if reply is received, otherwise false is returned.
-     */
-    bool sendKexDHInit();
-
-    /**
-     * After sendKexDHInit() returns true, this function is used to handle the received 'KEXDH_REPLY'.
-     * <p> This is the function to create the shared secret K. It also extracts the host key and signature fields from the payload, generates DSA/RSA keys, and verifies the signature.
-     * @return True if all operations are completed successfully, otherwise false is returned.
-     */
-    bool handleKexDHReply();
-
-    /**
-     * This function waits for 'NEWKEYS' packet from the remote host.
-     * <p> Once the packet is received, local 'NEWKEYS' packet is sent, all encryption and hmac keys are generated and encrypted communication is established.
-     * @return True if all operations are successful, otherwise false is returned.
-     */
-    bool sendKexNewKeys();
-
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_keys.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_keys.cpp
deleted file mode 100644
index 2e20fe57b98..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_keys.cpp
+++ /dev/null
@@ -1,573 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_keys.h"
-#include "ne7ssh.h"
-#include <botan/base64.h>
-#include <botan/look_pk.h>
-#include <cstdio>
-#include <ctype.h>
-
-using namespace std;
-using namespace Botan;
-
-const u32bit PIPE_DEFAULT_MESSAGE = -1;
-
-ne7ssh_keys::ne7ssh_keys() : dsaPrivateKey(0), rsaPrivateKey(0), keyAlgo(0)
-{
-}
-
-
-ne7ssh_keys::~ne7ssh_keys()
-{
-  if (dsaPrivateKey) delete dsaPrivateKey;
-  if (rsaPrivateKey) delete rsaPrivateKey;
-}
-
-bool ne7ssh_keys::generateRSAKeys (const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize)
-{
-  RSA_PrivateKey *rsaPrivKey;
-  BigInt e, n, d, p, q;
-  BigInt dmp1, dmq1, iqmp;
-  ne7ssh_string pubKeyBlob;
-  FILE *privKeyFile, *pubKeyFile;
-  std::string privKeyEncoded;
-  DER_Encoder encoder;
-
-  if (keySize > MAX_KEYSIZE)
-  {
-    ne7ssh::errors()->push (-1, "Specified key size: '%i' is larger than allowed maximum.", keySize);
-    return false;
-  }
-
-  if (keySize < 1024)
-  {
-    ne7ssh::errors()->push (-1, "Key Size: '%i' is too small. Use at least 1024 key size for RSA keys.", keySize);
-    return false;
-  }
-
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  rsaPrivKey = new RSA_PrivateKey (keySize);
-#else
-  rsaPrivKey = new RSA_PrivateKey (*ne7ssh::rng, keySize);
-#endif
-  privKeyFile = fopen (privKeyFileName, "w");
-
-  e = rsaPrivKey->get_e();
-  n = rsaPrivKey->get_n();
-
-  d = rsaPrivKey->get_d();
-  p = rsaPrivKey->get_p();
-  q = rsaPrivKey->get_q();
-
-  dmp1 = d % (p - 1);
-  dmq1 = d % (q - 1);
-  iqmp = inverse_mod (q, p);
-
-  pubKeyBlob.addString ("ssh-rsa");
-  pubKeyBlob.addBigInt (e);
-  pubKeyBlob.addBigInt (n);
-
-  Pipe base64it (new Base64_Encoder);
-  base64it.process_msg(pubKeyBlob.value());
-
-  SecureVector<Botan::byte> pubKeyBase64 = base64it.read_all (PIPE_DEFAULT_MESSAGE);
-
-  pubKeyFile = fopen (pubKeyFileName, "w");
-
-  if (!pubKeyFile)
-  {
-    ne7ssh::errors()->push (-1, "Cannot open file where public key is stored. Filename: %s", pubKeyFileName);
-    delete rsaPrivKey;
-    return false;
-  }
-
-  if ((!fwrite ("ssh-rsa ", 8, 1, pubKeyFile)) ||
-      (!fwrite (pubKeyBase64.begin(), (size_t) pubKeyBase64.size(), 1, pubKeyFile)) ||
-      (!fwrite (" ", 1, 1, pubKeyFile)) ||
-      (!fwrite (fqdn, strlen(fqdn), 1, pubKeyFile)) ||
-      (!fwrite ("\n", 1, 1, pubKeyFile)))
-  {
-    ne7ssh::errors()->push (-1, "I/O error while writting to file: %s.", pubKeyFileName);
-    delete rsaPrivKey;
-    return false;
-  }
-
-  fclose (pubKeyFile);
-
-#if (BOTAN_PRE_15)
-    encoder.start_sequence();
-    DER::encode (encoder, 0U);
-    DER::encode (encoder, n);
-    DER::encode (encoder, e);
-    DER::encode (encoder, d);
-    DER::encode (encoder, p);
-    DER::encode (encoder, q);
-    DER::encode (encoder, dmp1);
-    DER::encode (encoder, dmq1);
-    DER::encode (encoder, iqmp);
-    encoder.end_sequence();
-
-    privKeyEncoded = PEM_Code::encode (encoder.get_contents(), "RSA PRIVATE KEY");
-#else
-    privKeyEncoded = PEM_Code::encode (
-        DER_Encoder().start_cons (SEQUENCE)
-          .encode(0U)
-          .encode(n)
-          .encode(e)
-          .encode(d)
-          .encode(p)
-          .encode(q)
-          .encode(dmp1)
-          .encode(dmq1)
-          .encode(iqmp)
-          .end_cons()
-          .get_contents(), "RSA PRIVATE KEY");
-#endif
-
-  if (!privKeyFile)
-  {
-    ne7ssh::errors()->push (-1, "Cannot open file where the private key is stored. Filename: %s.", privKeyFileName);
-    delete rsaPrivKey;
-    return false;
-  }
-
-  if (!fwrite (privKeyEncoded.c_str(), privKeyEncoded.length(), 1, privKeyFile))
-  {
-    ne7ssh::errors()->push (-1, "IO error while writting to file: %s.", privKeyFileName);
-    delete rsaPrivKey;
-    return false;
-  }
-  fclose (privKeyFile);
-
-  delete rsaPrivKey;
-  return true;
-}
-
-bool ne7ssh_keys::generateDSAKeys (const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize)
-{
-  DER_Encoder encoder;
-  BigInt p, q, g, y, x;
-  ne7ssh_string pubKeyBlob;
-  FILE *privKeyFile, *pubKeyFile;
-  std::string privKeyEncoded;
-
-  if (keySize != 1024)
-  {
-    ne7ssh::errors()->push (-1, "DSA keys must be 1024 bits.");
-    return false;
-  }
-
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  DL_Group dsaGroup (keySize, DL_Group::DSA_Kosherizer);
-  DSA_PrivateKey privDsaKey (dsaGroup);
-#else
-  DL_Group dsaGroup (*ne7ssh::rng, Botan::DL_Group::DSA_Kosherizer, keySize);
-  DSA_PrivateKey privDsaKey (*ne7ssh::rng, dsaGroup);
-#endif
-
-  DSA_PublicKey pubDsaKey = privDsaKey;
-
-  p = dsaGroup.get_p();
-  q = dsaGroup.get_q();
-  g = dsaGroup.get_g();
-  y = pubDsaKey.get_y();
-  x = privDsaKey.get_x();
-
-  pubKeyBlob.addString ("ssh-dss");
-  pubKeyBlob.addBigInt (p);
-  pubKeyBlob.addBigInt (q);
-  pubKeyBlob.addBigInt (g);
-  pubKeyBlob.addBigInt (y);
-
-  Pipe base64it (new Base64_Encoder);
-  base64it.process_msg(pubKeyBlob.value());
-
-  SecureVector<Botan::byte> pubKeyBase64 = base64it.read_all (PIPE_DEFAULT_MESSAGE);
-
-  pubKeyFile = fopen (pubKeyFileName, "w");
-
-  if (!pubKeyFile)
-  {
-    ne7ssh::errors()->push (-1, "Cannot open file where public key is stored. Filename: %s", pubKeyFileName);
-    return false;
-  }
-
-  if ((!fwrite ("ssh-dss ", 8, 1, pubKeyFile)) ||
-      (!fwrite (pubKeyBase64.begin(), (size_t) pubKeyBase64.size(), 1, pubKeyFile)) ||
-      (!fwrite (" ", 1, 1, pubKeyFile)) ||
-      (!fwrite (fqdn, strlen(fqdn), 1, pubKeyFile)) ||
-      (!fwrite ("\n", 1, 1, pubKeyFile)))
-  {
-    ne7ssh::errors()->push (-1, "I/O error while writting to file: %s.", pubKeyFileName);
-    return false;
-  }
-  fclose (pubKeyFile);
-
-#if BOTAN_PRE_15
-  encoder.start_sequence();
-  DER::encode (encoder, 0U);
-  DER::encode (encoder, p);
-  DER::encode (encoder, q);
-  DER::encode (encoder, g);
-  DER::encode (encoder, y);
-  DER::encode (encoder, x);
-  encoder.end_sequence();
-#else
-  encoder.start_cons(SEQUENCE)
-    .encode (0U)
-    .encode (p)
-    .encode (q)
-    .encode (g)
-    .encode (y)
-    .encode (x)
-    .end_cons();
-#endif
-  privKeyEncoded = PEM_Code::encode (encoder.get_contents(), "DSA PRIVATE KEY");
-
-  privKeyFile = fopen (privKeyFileName, "w");
-
-  if (!privKeyFile)
-  {
-    ne7ssh::errors()->push (-1, "Cannot open file where private key is stored. Filename: %s", privKeyFileName);
-    return false;
-  }
-
-  if (!fwrite (privKeyEncoded.c_str(), (size_t) privKeyEncoded.length(), 1, privKeyFile))
-  {
-    ne7ssh::errors()->push (-1, "I/O error while writting to file: %s.", privKeyFileName);
-    return false;
-  }
-  fclose (privKeyFile);
-
-//  delete dsaGroup;
-
-  return true;
-}
-
-
-SecureVector<Botan::byte>& ne7ssh_keys::generateSignature (Botan::SecureVector<Botan::byte>& sessionID, Botan::SecureVector<Botan::byte>& signingData)
-{
-  this->signature.destroy();
-  switch (this->keyAlgo)
-  {
-    case DSA:
-      this->signature = generateDSASignature (sessionID, signingData);
-      return (signature);
-
-    case RSA:
-      this->signature = generateRSASignature (sessionID, signingData);
-      return (signature);
-
-    default:
-      this->signature.clear();
-      return (signature);
-  }
-
-}
-
-SecureVector<Botan::byte> ne7ssh_keys::generateDSASignature (Botan::SecureVector<Botan::byte>& sessionID, Botan::SecureVector<Botan::byte>& signingData)
-{
-  SecureVector<Botan::byte> sigRaw;
-  ne7ssh_string sigData, sig;
-
-  sigData.addVectorField (sessionID);
-  sigData.addVector (signingData);
-  if (!dsaPrivateKey)
-  {
-    ne7ssh::errors()->push (-1, "Private DSA key not initialized.");
-    return sig.value();
-  }
-
-  PK_Signer *DSASigner = get_pk_signer (*dsaPrivateKey, "EMSA1(SHA-1)");
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  sigRaw = DSASigner->sign_message(sigData.value());
-#else
-  sigRaw = DSASigner->sign_message(sigData.value(), *ne7ssh::rng);
-#endif
-
-  if (!sigRaw.size())
-  {
-    ne7ssh::errors()->push (-1, "Failure to generate DSA signature.");
-    delete DSASigner;
-    return sig.value();
-  }
-
-  if (sigRaw.size() != 40)
-  {
-    ne7ssh::errors()->push (-1, "DSS signature block <> 320 bits. Make sure you are using 1024 bit keys for authentication!");
-    sig.clear();
-    return sig.value();
-  }
-
-  delete DSASigner;
-  sig.addString ("ssh-dss");
-  sig.addVectorField (sigRaw);
-  return (sig.value());
-}
-
-SecureVector<Botan::byte> ne7ssh_keys::generateRSASignature (Botan::SecureVector<Botan::byte>& sessionID, Botan::SecureVector<Botan::byte>& signingData)
-{
-  SecureVector<Botan::byte> sigRaw;
-  ne7ssh_string sigData, sig;
-
-  sigData.addVectorField (sessionID);
-  sigData.addVector (signingData);
-  if (!rsaPrivateKey)
-  {
-    ne7ssh::errors()->push (-1, "Private RSA key not initialized.");
-    return sig.value();
-  }
-
-  PK_Signer *RSASigner = get_pk_signer (*rsaPrivateKey, "EMSA3(SHA-1)");
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  sigRaw = RSASigner->sign_message(sigData.value());
-#else
-  sigRaw = RSASigner->sign_message(sigData.value(), *ne7ssh::rng);
-#endif
-  if (!sigRaw.size())
-  {
-    ne7ssh::errors()->push (-1, "Failure while generating RSA signature.");
-    delete RSASigner;
-    return sig.value();
-  }
-
-  delete RSASigner;
-  sig.addString ("ssh-rsa");
-  sig.addVectorField (sigRaw);
-  return (sig.value());
-}
-
-bool ne7ssh_keys::getKeyPairFromFile (const char* privKeyFileName)
-{
-  ne7ssh_string privKeyStr;
-  char* buffer;
-  uint32 pos, i, length;
-
-  if (!privKeyStr.addFile (privKeyFileName))
-  {
-    ne7ssh::errors()->push (-1, "Cannot read PEM file: '%s'. Permission issues?", privKeyFileName);
-    return false;
-  }
-
-  buffer = (char*) malloc (privKeyStr.length() + 1);
-  memcpy (buffer, (const char*)privKeyStr.value().begin(), privKeyStr.length());
-  buffer[privKeyStr.length()] = 0x0;
-
-  length = privKeyStr.length();
-
-  for (i = pos = 0; i < privKeyStr.length(); i++)
-  {
-    if (isspace(buffer[i]))
-    {
-      while (i < privKeyStr.length() && isspace (buffer[i]))
-      {
-        if (buffer[pos] != '\n')
-          buffer[pos] = buffer[i];
-        if (++i >= privKeyStr.length()) break;
-      }
-      i--;
-      pos++;
-      continue;
-    }
-    buffer[pos] = buffer[i];
-    pos++;
-  }
-  buffer[pos] = 0x00;
-  length = pos;
-
-  if ((memcmp (buffer, "-----BEGIN", 10)) ||
-     (memcmp (buffer + length - 17, "PRIVATE KEY-----", 16)))
-  {
-    ne7ssh::errors()->push (-1, "Encountered unknown PEM file format. Perhaps not an SSH private key file: '%s'.", privKeyFileName);
-    free (buffer);
-    return false;
-  }
-
-  if (!memcmp (buffer, "-----BEGIN RSA PRIVATE KEY-----", 31))
-    this->keyAlgo = ne7ssh_keys::RSA;
-  else if (!memcmp (buffer, "-----BEGIN DSA PRIVATE KEY-----", 31))
-    this->keyAlgo = ne7ssh_keys::DSA;
-  else
-  {
-    ne7ssh::errors()->push (-1, "Encountered unknown PEM file format. Perhaps not an SSH private key file: '%s'.", privKeyFileName);
-    free (buffer);
-    return false;
-  }
-
-  SecureVector<Botan::byte> keyVector ((Botan::byte*)buffer, length);
-  free (buffer);
-  switch (this->keyAlgo)
-  {
-    case DSA:
-      if (!getDSAKeys ((char*)keyVector.begin(), keyVector.size()))
-        return false;
-      break;
-
-    case RSA:
-      if (!getRSAKeys ((char*)keyVector.begin(), keyVector.size()))
-        return false;
-      break;
-  }
-
-  return true;
-
-}
-
-bool ne7ssh_keys::getDSAKeys (char* buffer, uint32 size)
-{
-//  DataSource_Memory privKeyPEMSrc (privKeyPEMStr);
-  const char* headerDSA = "-----BEGIN DSA PRIVATE KEY-----\n";
-  const char* footerDSA = "-----END DSA PRIVATE KEY-----\n";
-  SecureVector<Botan::byte> keyDataRaw;
-  BigInt p, q, g, y, x;
-  char *start;
-  uint32 version;
-
-  start = buffer + strlen(headerDSA);
-  Pipe base64dec (new Base64_Decoder);
-  base64dec.process_msg ((Botan::byte*)start, size - strlen(footerDSA) - strlen(headerDSA));
-  keyDataRaw = base64dec.read_all (PIPE_DEFAULT_MESSAGE);
-
-  BER_Decoder decoder (keyDataRaw);
-
-#if BOTAN_PRE_15
-  BER_Decoder sequence = BER::get_subsequence(decoder);
-  BER::decode (sequence, version);
-#else
-  BER_Decoder sequence = decoder.start_cons (SEQUENCE);
-  sequence.decode (version);
-#endif
-
-  if (version)
-  {
-    ne7ssh::errors()->push (-1, "Encountered unknown DSA key version.");
-    return false;
-  }
-
-#if BOTAN_PRE_15
-  BER::decode (sequence, p);
-  BER::decode (sequence, q);
-  BER::decode (sequence, g);
-  BER::decode (sequence, y);
-  BER::decode (sequence, x);
-#else
-  sequence.decode (p);
-  sequence.decode (q);
-  sequence.decode (g);
-  sequence.decode (y);
-  sequence.decode (x);
-#endif
-
-
-  sequence.discard_remaining();
-  sequence.verify_end();
-
-  if (p.is_zero() || q.is_zero() || g.is_zero() || y.is_zero() || x.is_zero())
-  {
-    ne7ssh::errors()->push (-1, "Could not decode the supplied DSA key.");
-    return false;
-  }
-
-  DL_Group dsaGroup (p, q, g);
-
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  dsaPrivateKey = new DSA_PrivateKey (dsaGroup, x);
-#else
-  dsaPrivateKey = new DSA_PrivateKey (*ne7ssh::rng, dsaGroup, x);
-#endif
-  publicKeyBlob.clear();
-  publicKeyBlob.addString ("ssh-dss");
-  publicKeyBlob.addBigInt (p);
-  publicKeyBlob.addBigInt (q);
-  publicKeyBlob.addBigInt (g);
-  publicKeyBlob.addBigInt (y);
-
-  return true;
-
-}
-
-bool ne7ssh_keys::getRSAKeys (char* buffer, uint32 size)
-{
-  const char* headerRSA = "-----BEGIN RSA PRIVATE KEY-----\n";
-  const char* footerRSA = "-----END RSA PRIVATE KEY-----\n";
-  SecureVector<Botan::byte> keyDataRaw;
-  BigInt p, q, e, d, n;
-  char *start;
-  uint32 version;
-
-  start = buffer + strlen(headerRSA);
-  Pipe base64dec (new Base64_Decoder);
-  base64dec.process_msg ((Botan::byte*)start, size - strlen(footerRSA) - strlen(headerRSA));
-  keyDataRaw = base64dec.read_all (PIPE_DEFAULT_MESSAGE);
-
-  BER_Decoder decoder (keyDataRaw);
-
-#if BOTAN_PRE_15
-  BER_Decoder sequence = BER::get_subsequence(decoder);
-  BER::decode (sequence, version);
-#else
-  BER_Decoder sequence = decoder.start_cons(SEQUENCE);
-  sequence.decode (version);
-#endif
-
-  if (version)
-  {
-    ne7ssh::errors()->push (-1, "Encountered unknown RSA key version.");
-    return false;
-  }
-
-#if BOTAN_PRE_15
-  BER::decode (sequence, n);
-  BER::decode (sequence, e);
-  BER::decode (sequence, d);
-  BER::decode (sequence, p);
-  BER::decode (sequence, q);
-#else
-  sequence.decode (n);
-  sequence.decode (e);
-  sequence.decode (d);
-  sequence.decode (p);
-  sequence.decode (q);
-#endif
-
-  sequence.discard_remaining();
-  sequence.verify_end();
-
-  if (n.is_zero() || e.is_zero() || d.is_zero() || p.is_zero() || q.is_zero())
-  {
-    ne7ssh::errors()->push (-1, "Could not decode the supplied RSA key.");
-    return false;
-  }
-
-#if BOTAN_PRE_18 || BOTAN_PRE_15
-  rsaPrivateKey = new RSA_PrivateKey (p, q, e, d, n);
-#else
-  rsaPrivateKey = new RSA_PrivateKey (*ne7ssh::rng, p, q, e, d, n);
-#endif
-
-  publicKeyBlob.clear();
-  publicKeyBlob.addString ("ssh-rsa");
-  publicKeyBlob.addBigInt (e);
-  publicKeyBlob.addBigInt (n);
-
-  return true;
-}
-
-SecureVector<Botan::byte>& ne7ssh_keys::getPublicKeyBlob ()
-{
-  return publicKeyBlob.value();
-}
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_keys.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_keys.h
deleted file mode 100644
index f62c66f26a1..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_keys.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_KEYS_H
-#define NE7SSH_KEYS_H
-#include <botan/pubkey.h>
-#include <botan/pem.h>
-#include <botan/dsa.h>
-#include <botan/rsa.h>
-#include <botan/numthry.h>
-#include <botan/der_enc.h>
-#include <botan/ber_dec.h>
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_string.h"
-
-#define MAX_KEYSIZE 8192
-
-
-/**
- @author Andrew Useckas <andrew@netsieben.com>
-*/
-class ne7ssh_keys
-{
-  private:
-    Botan::DSA_PrivateKey *dsaPrivateKey;
-    Botan::RSA_PrivateKey *rsaPrivateKey;
-    ne7ssh_string publicKeyBlob;
-    Botan::SecureVector<Botan::byte> signature;
-
-    uint8 keyAlgo;
-
-    /**
-     * Extracts DSA key pair from a PEM encoded stream.
-     * @param buffer PEM encoded string.
-     * @param size Length of the stream.
-     * @return True if keys succesfully extracted. Otherwise False is returned.
-     */
-    bool getDSAKeys (char* buffer, uint32 size);
-
-    /**
-     * Extracts RSA key pair from a PEM encoded stream.
-     * @param buffer PEM encoded string.
-     * @param size Length of the stream.
-     * @return True if keys succesfully extracted. Otherwise False is returned.
-     */
-    bool getRSAKeys (char* buffer, uint32 size);
-
-  public:
-    enum keyAlgos { DSA, RSA };
-
-    /**
-     * ne7ssh_keys constructor.
-     */
-    ne7ssh_keys();
-
-    /**
-     * ne7ssh_keys destructor.
-     * @return
-     */
-    ~ne7ssh_keys();
-
-    /**
-     * Generates DSA Key pair and saves keys in specified files.
-     * @param fqdn User id. Usually an Email. For example "test@netsieben.com"
-     * @param privKeyFileName Full path to a file where generated private key should be written.
-     * @param pubKeyFileName Full path to a file where generated public key should be written.
-     * @param keySize Desired key size in bits. If not specified will default to 2048.
-     * @return True if keys generated and written to the files. Otherwise false is returned.
-     */
-    bool generateDSAKeys (const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize = 2048);
-
-    /**
-     * Generates RSA Key pair and saves keys in specified files.
-     * @param fqdn User id. Usually an Email. For example "test@netsieben.com"
-     * @param privKeyFileName Full path to a file where generated private key should be written.
-     * @param pubKeyFileName Full path to a file where generated public key should be written.
-     * @param keySize Desired key size in bits. If not specified will default to 2048.
-     * @return True if keys generated and written to the files. Otherwise false is returned.
-     */
-    bool generateRSAKeys (const char* fqdn, const char* privKeyFileName, const char* pubKeyFileName, uint16 keySize = 2048);
-
-    /**
-     * Extracts key pair from a PEM encoded file.
-     * <p>Reads the file and determines the type of key, then passes processing to either getDsaKeys() or getRSAKeys(*) functions.
-     * @param privKeyFileName Full path to PEM encoded file.
-     * @return True if key succesfully extracted, otherwise False is returned.
-     */
-    bool getKeyPairFromFile (const char* privKeyFileName);
-
-    /**
-     * Generates a SHA-1 signature from sessionID and packet data provided.
-     * <p>Determines key type and passed the processing either to generateDSASignature() or generateRSAKeys() functions.
-     * @param sessionID SSH2 SessionID.
-     * @param signingData Packet data to sign.
-     * @return Returns signature, or 0 length vector if operation failed.
-     */
-    Botan::SecureVector<Botan::byte>& generateSignature (Botan::SecureVector<Botan::byte>& sessionID, Botan::SecureVector<Botan::byte>& signingData);
-
-    /**
-     * Generates a SHA-1 signature from sessionID and packet data provided, using DSA private key initialized before.
-     * @param sessionID SSH2 SessionID.
-     * @param signingData Packet data to sign.
-     * @return Returns signature, or 0 length vector if operation failed.
-     */
-    Botan::SecureVector<Botan::byte> generateDSASignature (Botan::SecureVector<Botan::byte>& sessionID, Botan::SecureVector<Botan::byte>& signingData);
-
-    /**
-     * Generates a SHA-1 signature from sessionID and packet data provided, using DSA private key initialized before.
-     * @param sessionID SSH2 SessionID.
-     * @param signingData Packet data to sign.
-     * @return Returns signature, or 0 length vector if operation failed.
-     */
-    Botan::SecureVector<Botan::byte> generateRSASignature (Botan::SecureVector<Botan::byte>& sessionID, Botan::SecureVector<Botan::byte>& signingData);
-
-    /**
-     * After key pair has been initialized, this function returns public key blob, as specified by SSH2 specs.
-     * @return Public key blob or zero length vector, if there are initialized keys.
-     */
-    Botan::SecureVector<Botan::byte>& getPublicKeyBlob ();
-
-    /**
-     * Returns type of initialized keys.
-     * @return Type of keys.
-     */
-    uint8 getKeyAlgo () { return keyAlgo; }
-
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.cpp
deleted file mode 100644
index 1b8f4255156..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_mutex.h"
-
-Ne7ssh_Mutex::Ne7ssh_Mutex()
-{
-#if defined(WIN32) || defined(__MINGW32__)
-    InitializeCriticalSection(&mutint);
-#else
-    pthread_mutexattr_t mattr;
-
-    pthread_mutexattr_init (&mattr);
-    pthread_mutexattr_settype (&mattr, PTHREAD_MUTEX_ERRORCHECK);
-    pthread_mutex_init (&mutint, &mattr);
-    pthread_mutexattr_destroy (&mattr);
-#endif
-}
-
-int Ne7ssh_Mutex::lock()
-{
-#if defined(WIN32) || defined(__MINGW32__)
-    try
-    {
-        EnterCriticalSection(&mutint);
-        return 0;
-    }
-    catch (...)
-    {
-        return -1;
-    }
-#else
-    return pthread_mutex_lock(&mutint);
-#endif
-}
-
-int Ne7ssh_Mutex::unlock()
-{
-#if defined(WIN32) || defined(__MINGW32__)
-    LeaveCriticalSection(&mutint);
-    return 0;
-#else
-    return pthread_mutex_unlock(&mutint);
-#endif
-}
-
-Ne7ssh_Mutex::~Ne7ssh_Mutex()
-{
-#if defined(WIN32) || defined(__MINGW32__)
-    DeleteCriticalSection(&mutint);
-#else
-    pthread_mutex_destroy(&mutint);
-#endif
-}
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.h
deleted file mode 100644
index d48d7414f20..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_mutex.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2006 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-
-#ifndef NE7SSH_MUTEX_H
-#define NE7SSH_MUTEX_H
-
-#if defined(WIN32) || defined(__MINGW32__)
-#   include <windows.h>
-#else
-#   include <pthread.h>
-#endif
-
-class Ne7ssh_Mutex
-{
-public:
-    Ne7ssh_Mutex();
-
-    int lock();
-
-    int unlock();
-
-    ~Ne7ssh_Mutex();
-private:
-#if defined(WIN32) || defined(__MINGW32__)
-    CRITICAL_SECTION mutint;
-#else
-    pthread_mutex_t mutint;
-#endif
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_session.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_session.cpp
deleted file mode 100644
index 57176695941..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_session.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_session.h"
-
-ne7ssh_session::ne7ssh_session() : sendChannel(0), receiveChannel(0), channelID(-1), transport(0)
-{
-}
-
-
-ne7ssh_session::~ne7ssh_session()
-{
-}
-
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_session.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_session.h
deleted file mode 100644
index ae312c3acfa..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_session.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_SESSION_H
-#define NE7SSH_SESSION_H
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_transport.h"
-#include "crypt.h"
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_session
-{
-  private:
-    Botan::SecureVector<Botan::byte> localVersion;
-    Botan::SecureVector<Botan::byte> remoteVersion;
-    Botan::SecureVector<Botan::byte> sessionID;
-    uint32 sendChannel;
-    uint32 receiveChannel;
-    uint32 maxPacket;
-    int32 channelID;
-
-  public:
-    ne7ssh_transport *transport;
-    ne7ssh_crypt *crypto;
-
-    /**
-     * ne7ssh_session class constructor.
-     */
-    ne7ssh_session();
-
-    /**
-     * ne7ssh_session class desctructor.
-     */
-    ~ne7ssh_session();
-
-    /**
-     * Sets the local SSH version string.
-     * @param version Reference to a vector containing the version string.
-     */
-    void setLocalVersion (Botan::SecureVector<Botan::byte>& version) { localVersion = version; }
-
-    /**
-     * Returns local SSH version.
-     * @return Reference to a vector containing the version string.
-     */
-    Botan::SecureVector<Botan::byte> &getLocalVersion () { return localVersion; }
-
-    /**
-     * Sets the remote SSH version string.
-     * @param version Reference to a vector containing the version string.
-     */
-    void setRemoteVersion (Botan::SecureVector<Botan::byte>& version) { remoteVersion = version; }
-
-    /**
-     * Returns remote SSH version.
-     * @return Reference to a vector containing the version string.
-     */
-    Botan::SecureVector<Botan::byte> &getRemoteVersion () { return remoteVersion; }
-
-    /**
-     * Sets SSH session ID, a.k.a. H from the first KEX.
-     * @param session Reference to a vector containing the session ID.
-     */
-    void setSessionID (Botan::SecureVector<Botan::byte>& session) { sessionID = session; }
-
-    /**
-     * Returns the current SSH session ID.
-     * @return Reference to a vector containing the session ID.
-     */
-    Botan::SecureVector<Botan::byte> &getSessionID () { return sessionID; }
-
-    /**
-     * After the channel is open this function sets the send channel ID.
-     * @param channel Channel ID.
-     */
-    void setSendChannel (uint32 channel) { sendChannel = channel; }
-
-    /**
-     * Returns the send channel ID.
-     * @return Channel ID.
-     */
-    uint32 getSendChannel () const { return sendChannel; }
-
-    /**
-     * After the channel is open this function sets the receive channel ID.
-     * @param channel Channel ID.
-     */
-    void setReceiveChannel (uint32 channel) { receiveChannel = channel; }
-
-    /**
-     * Returns the receive channel ID.
-     * @return Channel ID.
-     */
-    uint32 getReceiveChannel () { return receiveChannel; }
-
-    /**
-     * Sets maximum send packet size.
-     * @param size Maximum packet size.
-     */
-    void setMaxPacket (uint32 size) { maxPacket = size; }
-
-    /**
-     * Returns maximum send packet size.
-     * @return Maximum packet size.
-     */
-    uint32 getMaxPacket () { return maxPacket; }
-
-    /**
-     * Stores newly created ne7ssh channel.
-     * @param channel ne7ssh channel.
-     */
-    void setSshChannel (int32 channel) { channelID = channel; }
-
-    /**
-     * REtrieves current ne7ssh channel.
-     * @return ne7ssh channel or -1 if the session hasn't succesfully opened the channel yet.
-     */
-    int32 getSshChannel () { return channelID; }
-
-
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.cpp
deleted file mode 100644
index 61d325634eb..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.cpp
+++ /dev/null
@@ -1,1366 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-
-#include <sys/stat.h>
-#include <cstdio>
-#include "ne7ssh_transport.h"
-#include "ne7ssh_sftp.h"
-#include "ne7ssh_sftp_packet.h"
-#include "ne7ssh.h"
-#include "ne7ssh_session.h"
-#include "ne7ssh_channel.h"
-
-using namespace Botan;
-
-Ne7sshSftp::Ne7sshSftp (ne7ssh_session* _session, ne7ssh_channel* _channel) : ne7ssh_channel (_session), session(_session), timeout(30), seq(1), sftpCmd(0), lastError(0), currentPath(0), sftpFiles(0), sftpFilesCount(0)
-{
-  windowRecv = _channel->getRecvWindow();
-  windowSend = _channel->getSendWindow();
-}
-
-Ne7sshSftp::~Ne7sshSftp()
-{
-  uint16 i;
-  for (i = 0; i < sftpFilesCount; i++)
-  {
-    free (sftpFiles[i]);
-  }
-  if (sftpFiles) free (sftpFiles);
-  if (currentPath) free (currentPath);
-}
-
-bool Ne7sshSftp::init ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_string packet;
-  bool status;
-
-  packet.clear();
-  packet.addChar (SSH2_MSG_CHANNEL_REQUEST);
-  packet.addInt (session->getSendChannel());
-  packet.addString ("subsystem");
-  packet.addChar (0);
-  packet.addString ("sftp");
-
-  if (!_transport->sendPacket (packet.value()))
-  {
-    return false;
-  }
-
-  packet.clear();
-  packet.addChar (SSH2_MSG_CHANNEL_DATA);
-  packet.addInt (session->getSendChannel());
-  packet.addInt (sizeof(uint32) * 2 + sizeof(char));
-  packet.addInt (sizeof(uint32) + sizeof(char));
-  packet.addChar (SSH2_FXP_INIT);
-  packet.addInt (SFTP_VERSION);
-
-  windowSend -= 9;
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  channelOpened = true;
-  status = receiveUntil (SSH2_FXP_VERSION, this->timeout);
-
-  return status;
-
-}
-
-bool Ne7sshSftp::handleData (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string mainBuffer (packet, 0);
-  uint32 channelID;
-  SecureVector<Botan::byte> sftpBuffer;
-  uint32 len = 0;
-  Botan::byte _cmd;
-
-  channelID = mainBuffer.getInt();
-
-  if (!mainBuffer.getString (sftpBuffer)) return false;
-  if (!sftpBuffer.size())
-    ne7ssh::errors()->push (session->getSshChannel(), "Abnormal. End of stream detected in SFTP subsystem.");
-
-  adjustRecvWindow (sftpBuffer.size());
-
-  if (seq >= SFTP_MAX_SEQUENCE) seq = 0;
-
-  mainBuffer.clear();
-
-  len = commBuffer.length();
-
-  if (len) mainBuffer.addVector (commBuffer.value());
-
-  commBuffer.addVector (sftpBuffer);
-  mainBuffer.addVector (sftpBuffer);
-
-  if (mainBuffer.length() < sizeof(uint32)
-      || mainBuffer.getInt() > mainBuffer.length())
-      return true;
-
-  commBuffer.clear();
-
-  _cmd = mainBuffer.getByte();
-
-  this->sftpCmd = _cmd;
-  switch (_cmd)
-  {
-    case SSH2_FXP_VERSION:
-      return handleVersion (mainBuffer.value());
-      break;
-
-    case SSH2_FXP_HANDLE:
-      return addOpenHandle (mainBuffer.value());
-
-    case SSH2_FXP_STATUS:
-      return handleStatus (mainBuffer.value());
-
-    case SSH2_FXP_DATA:
-      return handleSftpData (mainBuffer.value());
-
-    case SSH2_FXP_NAME:
-      return handleNames (mainBuffer.value());
-
-    case SSH2_FXP_ATTRS:
-      return processAttrs (mainBuffer.value());
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Unhandled SFTP subsystem command: %i.", _cmd);
-      return false;
-  }
-
-  return true;
-}
-
-bool Ne7sshSftp::receiveWindowAdjust ()
-{
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> packet;
-
-  if (!_transport->waitForPacket (SSH2_MSG_CHANNEL_WINDOW_ADJUST))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Remote side could not adjust the Window.");
-    return false;
-  }
-  _transport->getPacket (packet);
-  if (!handleReceived (packet)) return false;
-  return true;
-}
-
-bool Ne7sshSftp::receiveUntil (short _cmd, uint32 timeSec)
-{
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> packet;
-  uint32 cutoff = timeSec * 1000000, timeout = 0;
-  uint32 prevSize = 0;
-
-  this->sftpCmd = 0;
-  commBuffer.clear();
-
-  while (true)
-  {
-    const short status = _transport->waitForPacket (0, false);
-    if (status > 0)
-    {
-      _transport->getPacket (packet);
-      if (!handleReceived (packet)) return false;
-    }
-
-    if (commBuffer.length() > prevSize) timeout = 0;
-
-    prevSize = commBuffer.length();
-
-    usleep (10000);
-
-    if (sftpCmd == _cmd) return true;
-    if (!cutoff) continue;
-     if (timeout >= cutoff) break;
-    else timeout += 10000;
-  }
-  return false;
-}
-
-bool Ne7sshSftp::receiveWhile (short _cmd, uint32 timeSec)
-{
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> packet;
-  uint32 cutoff = timeSec * 1000000, timeout = 0;
-  uint32 prevSize = 0;
-  bool status;
-
-  this->sftpCmd = _cmd;
-  commBuffer.clear();
-
-  while (true)
-  {
-    status = _transport->waitForPacket (0, false);
-    if (status)
-    {
-      _transport->getPacket (packet);
-      if (!handleReceived (packet)) return false;
-    }
-
-    if (commBuffer.length() > prevSize) timeout = 0;
-    if (commBuffer.length() == 0) return true;
-
-    prevSize = commBuffer.length();
-
-    usleep (10000);
-
-    if (sftpCmd != _cmd) return true;
-
-    if (!cutoff) continue;
-     if (timeout >= cutoff) break;
-    else timeout += 10000;
-  }
-  return false;
-}
-
-bool Ne7sshSftp::handleVersion (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string sftpBuffer (packet, 0);
-  uint32 version;
-
-  version = sftpBuffer.getInt();
-
-  if (version != SFTP_VERSION)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Unsupported SFTP version: %i.", version);
-    return false;
-  }
-
-  return true;
-
-}
-
-bool Ne7sshSftp::handleStatus (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string sftpBuffer (packet, 0);
-  uint32 requestID, errorID;
-  SecureVector<Botan::byte> errorStr;
-
-
-  requestID = sftpBuffer.getInt();
-  errorID = sftpBuffer.getInt();
-  sftpBuffer.getString (errorStr);
-
-  if (errorID)
-  {
-    lastError = errorID;
-    ne7ssh::errors()->push (session->getSshChannel(), "SFTP Error code: <%i>, description: %s.", errorID, errorStr.begin());
-    return false;
-  }
-  return true;
-
-}
-
-bool Ne7sshSftp::addOpenHandle (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string sftpBuffer (packet, 0);
-  uint32 requestID;
-  SecureVector<Botan::byte> handle;
-  uint16 len;
-
-  requestID = sftpBuffer.getInt();
-  sftpBuffer.getString (handle);
-
-  if (!this->sftpFiles) this->sftpFiles = (sftpFile**) malloc (sizeof(sftpFile*));
-  else this->sftpFiles = (sftpFile**) realloc (sftpFiles, sizeof(sftpFile*) * (this->sftpFilesCount + 1));
-
-  sftpFiles[sftpFilesCount] = (sftpFile*) malloc (sizeof(sftpFile));
-  sftpFiles[sftpFilesCount]->fileID = requestID;
-  len = handle.size();
-  if (len > 256) len = 256;
-  memcpy (sftpFiles[sftpFilesCount]->handle, handle.begin(), len);
-  sftpFiles[sftpFilesCount]->handleLen = len;
-  sftpFilesCount++;
-  return true;
-
-}
-
-bool Ne7sshSftp::handleSftpData (Botan::SecureVector<Botan::byte>& packet)
-{
-  ne7ssh_string sftpBuffer (packet, 0);
-  uint32 requestID;
-  SecureVector<Botan::byte> data;
-  uint16 len;
-
-  requestID = sftpBuffer.getInt();
-  sftpBuffer.getString (data);
-  len = data.size();
-
-  if (data.size() == 0)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Abnormal. End of stream detected.");
-    return false;
-  }
-
-  commBuffer.clear();
-  fileBuffer.destroy();
-    fileBuffer.swap (data);
-  return true;
-}
-
-bool Ne7sshSftp::handleNames (Botan::SecureVector<Botan::byte>& packet)
-{
-  Ne7sshSftpPacket sftpBuffer (packet, 0);
-  ne7ssh_string tmpVar;
-  uint32 requestID, fileCount, i;
-  SecureVector<Botan::byte> fileName;
-
-  requestID = sftpBuffer.getInt();
-  fileCount = sftpBuffer.getInt();
-  tmpVar.addInt (fileCount);
-
-  if (!fileCount) return true;
-
-  for (i = 0; i < fileCount; i++)
-  {
-    sftpBuffer.getString (fileName);
-    tmpVar.addVectorField (fileName);
-    sftpBuffer.getString (fileName);
-    tmpVar.addVectorField (fileName);
-    attrs.flags = sftpBuffer.getInt();
-    if (attrs.flags & SSH2_FILEXFER_ATTR_SIZE)
-      attrs.size = sftpBuffer.getInt64();
-
-    if (attrs.flags & SSH2_FILEXFER_ATTR_UIDGID)
-    {
-      attrs.owner = sftpBuffer.getInt();
-      attrs.group = sftpBuffer.getInt();
-    }
-
-    if (attrs.flags & SSH2_FILEXFER_ATTR_PERMISSIONS)
-    {
-      attrs.permissions = sftpBuffer.getInt();
-    }
-
-    if (attrs.flags & SSH2_FILEXFER_ATTR_ACMODTIME)
-    {
-      attrs.atime = sftpBuffer.getInt();
-      attrs.mtime = sftpBuffer.getInt();
-    }
-  }
-  fileBuffer.append(tmpVar.value());
-
-  return true;
-}
-
-bool Ne7sshSftp::processAttrs (Botan::SecureVector<Botan::byte>& packet)
-{
-  Ne7sshSftpPacket sftpBuffer (packet, 0);
-  uint32 requestID;
-  SecureVector<Botan::byte> data;
-
-  requestID = sftpBuffer.getInt();
-  attrs.flags = sftpBuffer.getInt();
-  if (attrs.flags & SSH2_FILEXFER_ATTR_SIZE)
-    attrs.size = sftpBuffer.getInt64();
-
-  if (attrs.flags & SSH2_FILEXFER_ATTR_UIDGID)
-  {
-    attrs.owner = sftpBuffer.getInt();
-    attrs.group = sftpBuffer.getInt();
-  }
-
-  if (attrs.flags & SSH2_FILEXFER_ATTR_PERMISSIONS)
-  {
-    attrs.permissions = sftpBuffer.getInt();
-  }
-
-  if (attrs.flags & SSH2_FILEXFER_ATTR_ACMODTIME)
-  {
-    attrs.atime = sftpBuffer.getInt();
-    attrs.mtime = sftpBuffer.getInt();
-  }
-
-  return true;
-}
-
-
-uint32 Ne7sshSftp::openFile (const char* filename, uint8 shortMode)
-{
-  uint32 mode;
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  ne7ssh_string fullPath;
-
-   fullPath = getFullPath (filename);
-
-  if (!fullPath.length()) return 0;
-
-  switch (shortMode)
-  {
-    case READ:
-      mode = SSH2_FXF_READ;
-      break;
-
-    case OVERWRITE:
-      mode = SSH2_FXF_WRITE | SSH2_FXF_CREAT | SSH2_FXF_TRUNC;
-      break;
-
-    case APPEND:
-      mode = SSH2_FXF_WRITE | SSH2_FXF_CREAT;
-      break;
-
-    default:
-      ne7ssh::errors()->push (session->getSshChannel(), "Unsupported file opening mode: %i.", shortMode);
-      return 0;
-
-  }
-
-  packet.addChar (SSH2_FXP_OPEN);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-  packet.addInt (mode);
-  packet.addInt (0);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return 0;
-
-  windowSend -= 21 + fullPath.length();
-
-  status = receiveUntil (SSH2_FXP_HANDLE, this->timeout);
-
-  if (!status) return 0;
-  else return (seq - 1);
-}
-
-uint32 Ne7sshSftp::openDir (const char* dirname)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  ne7ssh_string fullPath = getFullPath (dirname);
-
-  if (!fullPath.length()) return 0;
-
-  packet.addChar (SSH2_FXP_OPENDIR);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return 0;
-
-  windowSend -= 13 + fullPath.length();
-
-  status = receiveUntil (SSH2_FXP_HANDLE, this->timeout);
-
-  if (!status) return 0;
-  else return (seq - 1);
-}
-
-bool Ne7sshSftp::readFile (uint32 fileID, uint64 offset)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  sftpFile *remoteFile = getFileHandle (fileID);
-
-  if (!remoteFile) return false;
-
-  packet.addChar (SSH2_FXP_READ);
-  packet.addInt (this->seq++);
-  packet.addInt (remoteFile->handleLen);
-  packet.addBytes ((Botan::byte*)remoteFile->handle, remoteFile->handleLen);
-  packet.addInt64 (offset);
-  packet.addInt (SFTP_MAX_MSG_SIZE);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= remoteFile->handleLen + 25;
-
-  status = receiveWhile (SSH2_FXP_DATA, this->timeout);
-
-  return status;
-}
-
-bool Ne7sshSftp::writeFile (uint32 fileID, const uint8* data, uint32 len, uint64 offset)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  sftpFile *remoteFile = getFileHandle (fileID);
-  uint32 sent = 0, currentLen = 0;
-  Botan::SecureVector<Botan::byte> sendVector;
-
-  if (len > SFTP_MAX_MSG_SIZE)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Could not write. Datablock larger than maximum msg size. Remote file ID %i.", fileID);
-    return false;
-  }
-
-  if (!remoteFile) return false;
-
-  packet.addChar (SSH2_FXP_WRITE);
-  packet.addInt (this->seq++);
-  packet.addInt (remoteFile->handleLen);
-  packet.addBytes ((Botan::byte*)remoteFile->handle, remoteFile->handleLen);
-  packet.addInt64 (offset);
-  packet.addInt (len);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return false;
-  }
-  windowSend -= remoteFile->handleLen + 25;
-
-  while (sent < len)
-  {
-    currentLen = len - sent < windowSend ? len - sent : windowSend;
-    currentLen = currentLen < (uint32)(SFTP_MAX_PACKET_SIZE - (remoteFile->handleLen + 86)) ? currentLen : SFTP_MAX_PACKET_SIZE - (remoteFile->handleLen + 86);
-
-    if (sent) packet.clear();
-    packet.addBytes (data + sent, currentLen);
-
-    if (sent)
-      sendVector = packet.valueFragment();
-    else
-      sendVector = packet.valueFragment(remoteFile->handleLen + 21 + len);
-
-    if (!sendVector.size()) return false;
-
-    status = _transport->sendPacket (sendVector);
-    if (!status) return false;
-
-    windowSend -= currentLen;
-    sent += currentLen;
-    if (!windowSend)
-    {
-      if (!receiveWindowAdjust())
-      {
-        ne7ssh::errors()->push (session->getSshChannel(), "Remote side could not adjust the Window.");
-        return false;
-      }
-    }
-//    if (sent - currentLen) break;
-  }
-  status = receiveUntil (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-bool Ne7sshSftp::closeFile (uint32 fileID)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  uint16 i;
-  bool status, match=false;
-  sftpFile *remoteFile = getFileHandle (fileID);
-
-  if (!remoteFile) return false;
-
-  packet.addChar (SSH2_FXP_CLOSE);
-  packet.addInt (this->seq++);
-  packet.addInt (remoteFile->handleLen);
-  packet.addBytes ((Botan::byte*)remoteFile->handle, remoteFile->handleLen);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= remoteFile->handleLen + 13;
-
-  for (i = 0; i < sftpFilesCount; i++)
-  {
-    if (match) sftpFiles[i - 1] = sftpFiles[i];
-    else if (sftpFiles[i]->fileID == fileID)
-    {
-      free (sftpFiles[i]);
-      sftpFiles[i] = 0;
-      match = true;
-    }
-  }
-  if (match) sftpFilesCount--;
-
-  status = receiveUntil (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-ne7ssh_string Ne7sshSftp::getFullPath (const char* filename)
-{
-  Botan::SecureVector<Botan::byte> result;
-  char *buffer = 0;
-  uint32 len, pos, last_char, i = 0;
-
-  if (!filename) return ne7ssh_string();
-  len = strlen (filename);
-
-  buffer = (char*) malloc (len + 1);
-  memcpy (buffer, filename, len);
-
-  while (isspace (buffer[i])) i++;
-
-  for (pos = 0; i < len; i++)
-  {
-    if (buffer[i] == '\\')
-      buffer[pos] = '/';
-    else buffer[pos] = buffer[i];
-    pos++;
-  }
-  pos--;
-  while (isspace (buffer[pos])) pos--;
-  if (pos > 1 && buffer[pos] == '.' && buffer[pos-1] != '.') pos--;
-  else if (!pos && buffer[pos] == '.') buffer[pos] = 0;
-
-  result.destroy();
-  if ((buffer[0] != '/') && currentPath)
-  {
-    if (currentPath) len = strlen (this->currentPath);
-    else
-    {
-      free (buffer);
-      return ne7ssh_string();
-    }
-    result.append ((uint8*)currentPath, len);
-    last_char = len - 1;
-    if (currentPath[last_char] && currentPath[last_char] != '/')
-      result.append ((uint8*)"/", 1);
-  }
-  while (buffer[pos] == '/') pos--;
-  buffer[++pos] = 0x00;
-  result.append ((uint8*)buffer, pos);
-  free (buffer);
-  return ne7ssh_string(result, 0);
-}
-
-Ne7sshSftp::sftpFile* Ne7sshSftp::getFileHandle (uint32 fileID)
-{
-  uint16 i;
-  uint32 _fileID;
-
-  for (i = 0; i < sftpFilesCount; i++)
-  {
-    _fileID = sftpFiles[i]->fileID;
-    if (sftpFiles[i]->fileID == fileID)
-    {
-      return sftpFiles[i];
-    }
-  }
-  ne7ssh::errors()->push (session->getSshChannel(), "Invalid file ID: %i.", fileID);
-  return 0;
-}
-
-bool Ne7sshSftp::getFileStats (const char* remoteFile, bool followSymLinks)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  uint8 _cmd = followSymLinks ? SSH2_FXP_STAT : SSH2_FXP_LSTAT;
-  ne7ssh_string fullPath = getFullPath (remoteFile);
-
-  if (!fullPath.length()) return 0;
-
-  if (!remoteFile) return false;
-
-  packet.addChar (_cmd);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-  packet.addInt (SSH2_FILEXFER_ATTR_SIZE | SSH2_FILEXFER_ATTR_UIDGID | SSH2_FILEXFER_ATTR_PERMISSIONS | SSH2_FILEXFER_ATTR_ACMODTIME);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= 17 + fullPath.length();
-
-  status = receiveWhile (SSH2_FXP_ATTRS, this->timeout);
-  return status;
-}
-
-bool Ne7sshSftp::getFStat (uint32 fileID)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  sftpFile *remoteFile = getFileHandle (fileID);
-
-  if (!remoteFile) return false;
-  packet.addChar (SSH2_FXP_FSTAT);
-  packet.addInt (this->seq++);
-  packet.addInt (remoteFile->handleLen);
-  packet.addBytes ((Botan::byte*)remoteFile->handle, remoteFile->handleLen);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= remoteFile->handleLen + 13;
-
-  status = receiveWhile (SSH2_FXP_ATTRS, this->timeout);
-  return status;
-}
-
-uint64 Ne7sshSftp::getFileSize (uint32 fileID)
-{
-  if (!getFStat (fileID))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failed to get remote file attributes.");
-    return 0;
-  }
-
-  return attrs.size;
-}
-
-bool Ne7sshSftp::getFileAttrs (Ne7SftpSubsystem::fileAttrs& attributes, const char* remoteFile,  bool /* followSymLinks */)
-{
-  if (!remoteFile)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failed to get remote file attributes.");
-    return false;
-  }
-  ne7ssh_string fullPath = getFullPath (remoteFile);
-  if (!fullPath.length()) return false;
-
-  if (!getFileStats ((const char*)fullPath.value().begin()))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failed to get remote file attributes.");
-    return false;
-  }
-
-  attributes.size = attrs.size;
-  attributes.owner = attrs.owner;
-  attributes.group = attrs.group;
-  attributes.permissions = attrs.permissions;
-  attributes.atime = attrs.atime;
-  attributes.mtime = attrs.mtime;
-
-  return true;
-}
-
-bool Ne7sshSftp::getFileAttrs (sftpFileAttrs& attributes, Botan::SecureVector<Botan::byte>& remoteFile,  bool followSymLinks)
-{
-  if (!remoteFile.size()) return false;
-  if (!getFileStats ((const char*)remoteFile.begin()))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failed to get remote file attributes.");
-    return false;
-  }
-  attributes.size = attrs.size;
-  attributes.owner = attrs.owner;
-  attributes.group = attrs.group;
-  attributes.permissions = attrs.permissions;
-  attributes.atime = attrs.atime;
-  attributes.mtime = attrs.mtime;
-
-  return true;
-}
-
-bool Ne7sshSftp::isType (const char* remoteFile, uint32 type)
-{
-  uint32 perms;
-  if (!remoteFile)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failed to get remote file attributes.");
-    return false;
-  }
-  ne7ssh_string fullPath = getFullPath (remoteFile);
-  if (!fullPath.length()) return false;
-
-  if (!getFileStats ((const char*)fullPath.value().begin()))
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Failed to get remote file attributes.");
-    return false;
-  }
-
-  perms = attrs.permissions;
-  if (perms & type) return true;
-  else return false;
-}
-
-bool Ne7sshSftp::isFile (const char* remoteFile)
-{
-  return isType (remoteFile, S_IFREG);
-}
-
-bool Ne7sshSftp::isDir (const char* remoteFile)
-{
-  return isType (remoteFile, S_IFDIR);
-}
-
-bool Ne7sshSftp::get (const char* remoteFile, FILE* localFile)
-{
-  uint32 size;
-  uint64 offset = 0;
-  Botan::SecureVector<Botan::byte> localBuffer;
-  uint32 fileID;
-
-  if (!localFile)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Invalid local or remote file.");
-     return false;
-  }
-
-  fileID = openFile (remoteFile, READ);
-
-  if (!fileID) return false;
-
-  size = getFileSize (fileID);
-
-  if (!size)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "File size is zero.");
-     return false;
-  }
-
-  while (size > offset)
-  {
-    readFile (fileID, offset);
-    if (fileBuffer.size() == 0) return false;
-    localBuffer.destroy();
-    localBuffer.swap (fileBuffer);
-
-        if (!fwrite (localBuffer.begin(), (size_t) localBuffer.size(), 1, localFile))
-    {
-      ne7ssh::errors()->push (session->getSshChannel(), "Could not write to local file. Remote file ID %i.", fileID);
-      return false;
-    }
-    offset += localBuffer.size();
-  }
-
-  if (!closeFile (fileID)) return false;
-  return true;
-
-}
-
-bool Ne7sshSftp::put (FILE* localFile, const char* remoteFile)
-{
-  size_t size;
-  uint64 offset = 0;
-  Botan::SecureVector<Botan::byte> localBuffer;
-  uint32 fileID;
-  uint8* buffer = 0;
-  uint32 len;
-
-  if (!localFile || !remoteFile)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Invalid local or remote file.");
-     return false;
-  }
-
-  fileID = openFile (remoteFile, OVERWRITE);
-
-  if (!fileID) return false;
-
-  fseek (localFile, 0L, SEEK_END);
-  size = ftell (localFile);
-  rewind (localFile);
-
-  if (!size)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "File size is zero.");
-     return false;
-  }
-
-  buffer = (uint8*) malloc (SFTP_MAX_MSG_SIZE);
-  while (size > offset)
-  {
-    len = (size - offset) < SFTP_MAX_MSG_SIZE - 384 ? (size - offset) : SFTP_MAX_MSG_SIZE - 384;
-
-    if (!fread (buffer, len, 1, localFile))
-    {
-      ne7ssh::errors()->push (session->getSshChannel(), "Could not read from local file. Remote file ID %i.", fileID);
-      if (buffer) free (buffer);
-      return false;
-    }
-    if (!writeFile (fileID, buffer, len, offset))
-    {
-      if (buffer) free (buffer);
-      return false;
-    }
-    offset += len;
-  }
-
-  if (buffer) free (buffer);
-  if (!closeFile (fileID)) return false;
-  return true;
-
-}
-
-bool Ne7sshSftp::rm (const char* remoteFile)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  if (!remoteFile) return false;
-  ne7ssh_string fullPath = getFullPath (remoteFile);
-
-  if (!fullPath.length()) return false;
-
-  packet.addChar (SSH2_FXP_REMOVE);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return false;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= 13 + fullPath.length();
-
-  status = receiveWhile (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-bool Ne7sshSftp::mv (const char* oldFile, const char* newFile)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  if (!oldFile || !newFile) return false;
-  ne7ssh_string oldPath = getFullPath (oldFile);
-  ne7ssh_string newPath = getFullPath (newFile);
-
-  if (!oldPath.length() || !newPath.length()) return false;
-
-  packet.addChar (SSH2_FXP_RENAME);
-  packet.addInt (this->seq++);
-  packet.addVectorField (oldPath.value());
-  packet.addVectorField (newPath.value());
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= oldPath.length() + newPath.length() + 17;
-
-  status = receiveWhile (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-bool Ne7sshSftp::mkdir (const char* remoteDir)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  if (!remoteDir) return false;
-  ne7ssh_string fullPath = getFullPath (remoteDir);
-
-  if (!fullPath.length()) return false;
-
-  packet.addChar (SSH2_FXP_MKDIR);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-  packet.addInt (0);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= fullPath.length() + 17;
-
-  status = receiveWhile (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-bool Ne7sshSftp::rmdir (const char* remoteDir)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  if (!remoteDir) return false;
-  ne7ssh_string fullPath = getFullPath (remoteDir);
-
-  if (!fullPath.length()) return false;
-
-  packet.addChar (SSH2_FXP_RMDIR);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= fullPath.length() + 13;
-
-  status = receiveWhile (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-const char* Ne7sshSftp::ls (const char* remoteDir, bool longNames)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  ne7ssh_string tmpVar;
-  SecureVector<Botan::byte> fileName;
-  bool status = true;
-  uint32 fileID, fileCount, i;
-  sftpFile *remoteFile;
-  if (!remoteDir) return 0;
-
-  fileID = openDir (remoteDir);
-
-  if (!fileID) return 0;
-  remoteFile = getFileHandle (fileID);
-  if (!remoteFile) return 0;
-    fileBuffer.destroy();
-
-  while (status)
-  {
-    packet.clear();
-    packet.addChar (SSH2_FXP_READDIR);
-    packet.addInt (this->seq++);
-    packet.addInt (remoteFile->handleLen);
-    packet.addBytes ((Botan::byte*)remoteFile->handle, remoteFile->handleLen);
-
-    if (!packet.isChannelSet())
-    {
-      ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-      return 0;
-    }
-
-    if (!_transport->sendPacket (packet.value()))
-      return 0;
-
-    windowSend -= remoteFile->handleLen + 13;
-
-    status = receiveWhile (SSH2_FXP_NAME, this->timeout);
-  }
-  if (lastError > 1) return 0;
-
-  packet.clear();
-  packet.addVector (fileBuffer);
-  fileCount = packet.getInt();
-  tmpVar.clear();
-  for (i = 0; i < fileCount; i++)
-  {
-    packet.getString (fileName);
-    fileName.append ((const Botan::byte*)"\n", 1);
-    if (!longNames)  tmpVar.addVector (fileName);
-
-    packet.getString (fileName);
-    fileName.append ((const Botan::byte*)"\n", 1);
-    if (longNames)  tmpVar.addVector (fileName);
-  }
-  fileBuffer.swap (tmpVar.value());
-
-  if (!closeFile (fileID)) return 0;
-  return (const char*)fileBuffer.begin();
-}
-
-bool Ne7sshSftp::cd (const char* remoteDir)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  SecureVector<Botan::byte> fileName;
-  uint32 fileCount;
-  bool status;
-  if (!remoteDir) return false;
-  ne7ssh_string fullPath = getFullPath (remoteDir);
-
-  if (!fullPath.length()) return false;
-
-    fileBuffer.destroy();
-
-  packet.addChar (SSH2_FXP_REALPATH);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return false;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= fullPath.length() + 13;
-
-  status = receiveWhile (SSH2_FXP_NAME, this->timeout);
-  if (!status)
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Could not change to remote directory: %s.", remoteDir);
-    return false;
-  }
-
-
-  packet.clear();
-  packet.addVector (fileBuffer);
-  fileCount = packet.getInt();
-  if (!fileCount) return false;
-  packet.getString (fileName);
-
-  if (!currentPath) currentPath = (char*) malloc (fileName.size() + 1);
-  else currentPath = (char*) realloc (currentPath, fileName.size() + 1);
-  memcpy (currentPath, fileName.begin(), fileName.size());
-  currentPath[fileName.size()] = 0;
-  return status;
-}
-
-bool Ne7sshSftp::chmod (const char* remoteFile, const char* mode)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  if (!remoteFile) return false;
-  ne7ssh_string fullPath = getFullPath (remoteFile);
-  uint32 perms, len, octet = 0;
-  bool u, g, o, plus;
-  const char* _pos;
-  uint8 i;
-  char converter[] = {'0', '0', '0', '0', '0'};
-
-  if (!fullPath.length()) return false;
-
-  if (!getFileAttrs (attrs, fullPath.value(), true))
-    return false;
-
-  perms = attrs.permissions;
-
-  len = strlen (mode);
-  if (len < 5 && len > 2)
-  {
-    for (i = 0; i < len; i++)
-    {
-      if (!isdigit (mode[i])) break;
-    }
-
-    if (i != len) _pos = mode;
-    else
-    {
-      memcpy (converter + (5 - len), mode, len);
-      octet = strtol (converter, (char**)&_pos, 8);
-      if (octet > 07777)
-      {
-        ne7ssh::errors()->push (session->getSshChannel(), "Invalid permission octet.");
-        return false;
-      }
-      if (len == 3) perms = (perms & ~0777) | octet;
-      else perms = (perms & ~07777) | octet;
-    }
-  }
-
-  _pos = mode;
-  if (!octet)
-  {
-    while (*_pos)
-    {
-      if (*_pos == ',') _pos++;
-      u = g = o = plus = false;
-      while (*_pos && *_pos != '+' && *_pos != '-')
-      {
-        switch (*_pos)
-        {
-          case 'u':
-            u = true;
-            break;
-
-          case 'g':
-            g = true;
-            break;
-
-          case 'o':
-            o = true;
-            break;
-
-          case 'a':
-            u = g = o = true;
-            break;
-
-          default:
-            ne7ssh::errors()->push (session->getSshChannel(), "Invalid mode string.");
-            return false;
-
-        }
-      _pos++;
-      }
-
-      if (*_pos == '+') plus = true;
-      _pos++;
-      while (*_pos && *_pos != ',')
-      {
-        switch (*_pos)
-        {
-          case 'r':
-            if (u) perms = plus ?  perms | S_IRUSR : perms ^ S_IRUSR;
-            if (g) perms = plus ?  perms | S_IRGRP : perms ^ S_IRGRP;
-            if (o) perms = plus ?  perms | S_IROTH : perms ^ S_IROTH;
-            break;
-
-          case 'w':
-            if (u) perms = plus ?  perms | S_IWUSR : perms ^ S_IWUSR;
-            if (g) perms = plus ?  perms | S_IWGRP : perms ^ S_IWGRP;
-            if (o) perms = plus ?  perms | S_IWOTH : perms ^ S_IWOTH;
-            break;
-
-          case 'x':
-            if (u) perms = plus ?  perms | S_IXUSR : perms ^ S_IXUSR;
-            if (g) perms = plus ?  perms | S_IXGRP : perms ^ S_IXGRP;
-            if (o) perms = plus ?  perms | S_IXOTH : perms ^ S_IXOTH;
-            break;
-
-          case 's':
-            if (u) perms = plus ?  perms | S_ISUID : perms ^ S_ISUID;
-            if (g) perms = plus ?  perms | S_ISGID : perms ^ S_ISGID;
-            break;
-
-          case 't':
-            perms = plus ?  perms | S_ISVTX : perms ^ S_ISVTX;
-            break;
-
-          case 'X':
-            if ((perms & 111) == 0) break;
-            if (u) perms = plus ?  perms | S_IXUSR : perms ^ S_IXUSR;
-            if (g) perms = plus ?  perms | S_IXGRP : perms ^ S_IXGRP;
-            if (o) perms = plus ?  perms | S_IXOTH : perms ^ S_IXOTH;
-            break;
-
-          case 'u':
-            if (u) perms = plus ?  perms | (perms & S_IRWXU) : perms ^ (perms & S_IRWXU);
-            if (g) perms = plus ?  perms | (perms & S_IRWXU) : perms ^ (perms & S_IRWXU);
-            if (o) perms = plus ?  perms | (perms & S_IRWXU) : perms ^ (perms & S_IRWXU);
-            break;
-
-          case 'g':
-            if (u) perms = plus ?  perms | (perms & S_IRWXG) : perms ^ (perms & S_IRWXG);
-            if (g) perms = plus ?  perms | (perms & S_IRWXG) : perms ^ (perms & S_IRWXG);
-            if (o) perms = plus ?  perms | (perms & S_IRWXG) : perms ^ (perms & S_IRWXG);
-            break;
-
-          case 'o':
-            if (u) perms = plus ?  perms | (perms & S_IRWXO) : perms ^ (perms & S_IRWXO);
-            if (g) perms = plus ?  perms | (perms & S_IRWXO) : perms ^ (perms & S_IRWXO);
-            if (o) perms = plus ?  perms | (perms & S_IRWXO) : perms ^ (perms & S_IRWXO);
-            break;
-
-          default:
-            ne7ssh::errors()->push (session->getSshChannel(), "Invalid mode string.");
-            return false;
-        }
-        _pos++;
-      }
-    }
-  }
-
-
-  packet.addChar (SSH2_FXP_SETSTAT);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-  packet.addInt (SSH2_FILEXFER_ATTR_PERMISSIONS);
-  packet.addInt (perms);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return 0;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= fullPath.length() + 21;
-
-  status = receiveWhile (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
-bool Ne7sshSftp::chown (const char* remoteFile, uint32 uid, uint32 gid)
-{
-  Ne7sshSftpPacket packet (session->getSendChannel());
-  ne7ssh_transport *_transport = session->transport;
-  bool status;
-  uint32 old_uid, old_gid;
-  if (!remoteFile) return false;
-  ne7ssh_string fullPath = getFullPath (remoteFile);
-
-  if (!fullPath.length()) return false;
-
-  if (!getFileAttrs (attrs, fullPath.value(), true))
-    return false;
-
-  old_uid = attrs.owner;
-  old_gid = attrs.group;
-
-  packet.addChar (SSH2_FXP_SETSTAT);
-  packet.addInt (this->seq++);
-  packet.addVectorField (fullPath.value());
-  packet.addInt (SSH2_FILEXFER_ATTR_UIDGID);
-  if (uid) packet.addInt (uid);
-  else packet.addInt (old_uid);
-  if (gid) packet.addInt (gid);
-  else packet.addInt (old_gid);
-
-  if (!packet.isChannelSet())
-  {
-    ne7ssh::errors()->push (session->getSshChannel(), "Channel not set in sftp packet class.");
-    return false;
-  }
-
-  if (!_transport->sendPacket (packet.value()))
-    return false;
-
-  windowSend -= fullPath.length() + 25;
-
-  status = receiveWhile (SSH2_FXP_STATUS, this->timeout);
-  return status;
-}
-
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.h
deleted file mode 100644
index 64074401b3e..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp.h
+++ /dev/null
@@ -1,438 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-
-#ifndef NE7SSHSFTP_H
-#define NE7SSHSFTP_H
-
-#include "ne7ssh_channel.h"
-#include "ne7ssh.h"
-
-#ifdef WIN32
-// 777 = 0x1ff
-#ifndef __MINGW32__
-#define S_IRUSR 0x100
-#endif
-#define S_IRGRP 0x020
-#define S_IROTH 0x004
-#ifndef __MINGW32__
-#define S_IWUSR 0x080
-#endif
-#define S_IWGRP 0x010
-#define S_IWOTH 0x002
-#ifndef __MINGW32__
-#define S_IXUSR 0x040
-#endif
-#define S_IXGRP 0x008
-#define S_IXOTH 0x001
-#define S_ISUID 0x800
-#define S_ISGID 0x400
-#define S_ISVTX 0x200
-#ifndef __MINGW32__
-#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
-#endif
-#define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
-#define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
-#endif
-
-#define SSH2_FXP_INIT                1
-#define SSH2_FXP_VERSION             2
-#define SSH2_FXP_OPEN                3
-#define SSH2_FXP_CLOSE               4
-#define SSH2_FXP_READ                5
-#define SSH2_FXP_WRITE               6
-#define SSH2_FXP_LSTAT               7
-#define SSH2_FXP_FSTAT               8
-#define SSH2_FXP_SETSTAT             9
-#define SSH2_FXP_FSETSTAT           10
-#define SSH2_FXP_OPENDIR            11
-#define SSH2_FXP_READDIR            12
-#define SSH2_FXP_REMOVE             13
-#define SSH2_FXP_MKDIR              14
-#define SSH2_FXP_RMDIR              15
-#define SSH2_FXP_REALPATH           16
-#define SSH2_FXP_STAT               17
-#define SSH2_FXP_RENAME             18
-#define SSH2_FXP_READLINK           19
-#define SSH2_FXP_LINK               21
-#define SSH2_FXP_BLOCK              22
-#define SSH2_FXP_UNBLOCK            23
-
-#define SSH2_FXP_STATUS            101
-#define SSH2_FXP_HANDLE            102
-#define SSH2_FXP_DATA              103
-#define SSH2_FXP_NAME              104
-#define SSH2_FXP_ATTRS             105
-
-#define SSH2_FXP_EXTENDED          200
-#define SSH2_FXP_EXTENDED_REPLY    201
-
-#define SFTP_VERSION 3
-#define SFTP_MAX_SEQUENCE 4294967295U
-#define SFTP_MAX_PACKET_SIZE (32 * 1024)
-#define SFTP_MAX_MSG_SIZE (256 * 1024)
-
-#define SSH2_FXF_READ           0x00000001
-#define SSH2_FXF_WRITE          0x00000002
-#define SSH2_FXF_APPEND         0x00000004
-#define SSH2_FXF_CREAT          0x00000008
-#define SSH2_FXF_TRUNC          0x00000010
-#define SSH2_FXF_EXCL           0x00000020
-
-#define SSH2_FILEXFER_ATTR_SIZE         0x00000001
-#define SSH2_FILEXFER_ATTR_UIDGID       0x00000002
-#define SSH2_FILEXFER_ATTR_ACMODTIME    0x00000008
-#define SSH2_FILEXFER_ATTR_PERMISSIONS  0x00000004
-
-class ne7ssh_session;
-class ne7ssh_transport;
-
-/**
-  @author Andrew Useckas <andrew@netsieben.com>
-*/
-class Ne7sshSftp : public ne7ssh_channel
-{
-  private:
-    ne7ssh_session* session;
-    uint32 timeout;
-    uint32 seq;
-    uint8 sftpCmd;
-    ne7ssh_string commBuffer;
-    Botan::SecureVector<Botan::byte> fileBuffer;
-    enum writeMode { READ, OVERWRITE, APPEND };
-    uint8 lastError;
-    char* currentPath;
-
-    /**
-    * Structure used to store rmote file attributes.
-    */
-    typedef struct
-    {
-      uint32 flags;
-      uint64 size;
-      uint32 owner;
-      uint32 group;
-      uint32 permissions;
-      uint32 atime;
-      uint32 mtime;
-    } sftpFileAttrs;
-
-    sftpFileAttrs attrs;
-
-    /**
-    * Structure used to store open rmote file.
-    */
-    typedef struct
-    {
-      uint32 fileID;
-      uint16 handleLen;
-      char handle[256];
-    } sftpFile;
-    sftpFile **sftpFiles;
-    uint16 sftpFilesCount;
-
-    /**
-    * Replacement for ne7ssh_channel handleData method. Processes SFTP specific packets.
-    * @param packet Reference to the newly received packet.
-    * @return True if data successfully processed. False on any error.
-    */
-    bool handleData (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * Processes the VERSION packet received from the server.
-    * @param packet VERSION packet.
-    * @return True if processing successful, otherwise false.
-    */
-    bool handleVersion (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * Processes the STATUS packet received from the server.
-    * @param packet STATUS packet.
-    * @return True if processing successful, otherwise false.
-    */
-    bool handleStatus (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * Method to add a new file to sftpFiles variable from the HANDLE packet.
-    * @param packet HANDLE packet.
-    * @return True if processing successful, otherwise false.
-    */
-    bool addOpenHandle (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * Method to process DATA packets.
-    * @param packet DATA packet.
-    * @return True if processing successful, otherwise false.
-    */
-    bool handleSftpData (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * Method to process NAME packets.
-    * @param packet NAME packet.
-    * @return True if processing successful, otherwise false.
-    */
-    bool handleNames (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * This method is used to get a pointer to currently open file stored in sftpFile structure.
-    * @param fileID File ID, received from fileOpen() method.
-    * @return Returns a pointer to sftpFile structyure containing opened file or directory. If file specified by fileID has not been opened, NULL is returned.
-    */
-    sftpFile* getFileHandle (uint32 fileID);
-
-    /**
-    * Receive packets until specific SFTP subsystem command is received.
-    * @param _cmd SFTP command to wait for.
-    * @param timeSec Timeout in seconds.
-    * @return True if the command specified has been received. Otherwise false.
-    */
-    bool receiveUntil (short _cmd, uint32 timeSec = 0);
-
-    /**
-    * Receive packets while SFTP subsystem commands received matches specified command.
-    * @param _cmd Command to receive.
-    * @param timeSec Timeout in seconds.
-    * @return True if all expected data received. Otherwise false.
-    */
-    bool receiveWhile (short _cmd, uint32 timeSec = 0);
-
-    /**
-    * Method to process ATTRS packet.
-    * @param packet ATTRS packet.
-    * @return True if processing successful, otherwise false.
-    */
-    bool processAttrs (Botan::SecureVector<Botan::byte>& packet);
-
-    /**
-    * Low level method to request file attributes.
-    * @param remoteFile Full or relative path to a remote file.
-    * @param followSymLinks If set to true symbolic links will be followed. That is the default behavior. If following symbolic links is undesired set to "false".
-    * @return True if the request succeeds. False on any error.
-    */
-    bool getFileStats (const char* remoteFile, bool followSymLinks = true);
-
-    /**
-    * Gets attributes of a remote file and dumps them into sfptFileAtts structure.
-    * @param attributes reference to sftpFileAttrs structure where the result will be stored.
-    * @param remoteFile Full or relative path to a remote file.
-    * @param followSymLinks If set to true symbolic links will be followed. That is the default behavior. If following symbolic links is undesired set to "false".
-    * @return True if the attributes successfully received. False on any error.
-    */
-    bool getFileAttrs (sftpFileAttrs& attributes, Botan::SecureVector<Botan::byte>& remoteFile,  bool followSymLinks = true);
-
-    /**
-    * Works like getFileStats() method, except that it operates on a handle of already opened file instead of path.
-    * @param fileID File ID, returned by the openFile() method.
-    * @return True if the request succeeds. False on any error.
-    */
-    bool getFStat (uint32 fileID);
-
-    /**
-    * This methods returnes the size of an open file.
-    * @param fileID File ID, returned by the openFile() method.
-    * @return The size of the remote file. False on any error.
-    */
-    uint64 getFileSize (uint32 fileID);
-
-    /**
-    * This method is used to wait for an ADJUST_WINDOW packet, when the send window size is zero.
-    * @return True if the ADJUST_WINDOW packet has been received, otherwise false.
-    */
-    bool receiveWindowAdjust ();
-
-    /**
-    * Returns full path to a file or directory.
-    * @param filename Relative path to a remote file or directory.
-    * @return ne7ssh_string class containing full path to the remote file or directory. The class will contain an empty string on error.
-    */
-    ne7ssh_string getFullPath (const char* filename);
-
-    /**
-    * Determines the type of a remote file.
-    * @param remoteFile Relative or full path to the remote file.
-    * @param type Type, taken from sys/stat.h.
-    * @return True if file is of specified type. Otherwise false.
-    */
-    bool isType (const char* remoteFile, uint32 type);
-
-  public:
-    /**
-    * Constructor.
-    * @param _session Pointer to connections session data.
-    * @param _channel Pointer to the ne7ssh_channel instance, taken from the new ne7ssh_connection instance.
-    */
-    Ne7sshSftp(ne7ssh_session* _session, ne7ssh_channel* _channel);
-
-    /**
-    * Default destructor.
-    */
-    ~Ne7sshSftp();
-
-    /**
-    * Initializes SFTP subsystem.
-    * @return True if the subsystem successfully initialized. False on any error.
-    */
-    bool init();
-
-    /**
-    * This method is used to set a timeout for all SFTP subsystem communications.
-    * @param _timeout Timeout in seconds.
-    */
-    void setTimeout (uint32 _timeout) { timeout = _timeout; }
-
-    /**
-    * Low level method used to open a remote file.
-    * @param filename Relative or full path to the file.
-    * @param shortMode Mode to be used when opening the file. Can be one of the modes defined by writeMode class variable.
-    * @return Newly opened file ID or 0 if file could not be opened.
-    */
-    uint32 openFile (const char* filename, uint8 shortMode);
-
-    /**
-    * Low level method used to open an inode containing file entries a.k.a directory.
-    * @param dirname Relative or full path to the inode.
-    * @return Newly opened file ID or 0 if the inode could not be opened.
-    */
-    uint32 openDir (const char* dirname);
-
-    /**
-    * Low level method used to read datablock up to the size of SFTP_MAX_MSG_SIZE from a file.
-    * @param fileID File ID retruned by openFile() method.
-    * @param offset Offset. 0 by default.
-    * @return True if file content successfully read and placed in the buffer. Otherwise false.
-    */
-    bool readFile (uint32 fileID, uint64 offset = 0);
-
-    /**
-    * Low level method used to write data-block up to the size of SFTP_MAX_MSG_SIZE to a remote file.
-    * @param fileID File ID returned by openFile() method.
-    * @param data Pointer to a buffer containing the data.
-    * @param len Length of the block.
-    * @param offset Offset in the remote file. If offset is passed EOF the space between EOF and offset will be filled by 0x0. Variable is set to 0 by default.
-    * @return True if file contect successfully written. False on any error.
-    */
-    bool writeFile (uint32 fileID, const uint8* data, uint32 len, uint64 offset = 0);
-
-    /**
-    * Low level method used to close a file opened using openFile() method.
-    * @param fileID File ID returned by openFile() method.
-    * @return True on success. False on any error.
-    */
-    bool closeFile (uint32 fileID);
-
-    /**
-    * This method is used to retrieve remote file attributes and place them into fileAttrs structure.
-    * @param attributes Reference to fileAttrs structure where retrieved attributes should be placed.
-    * @param remoteFile Name of the remote file.
-    * @param followSymLinks If this variable is set to true, symbolic links will be followed. That is the default befavour. If this behavour is undesired, pass "false".
-    * @return True if the attributes successfully retrieved. Otherwise false is returned.
-    */
-    bool getFileAttrs (Ne7SftpSubsystem::fileAttrs& attributes, const char* remoteFile,  bool followSymLinks = true);
-
-    /**
-    * This method is used to determine if a remote inode is a regular file.
-    * @param remoteFile Full or relative path to the remote inode.
-    * @return True if the remote inode is a regular file. Otherwise false.
-    */
-    bool isFile (const char* remoteFile);
-
-    /**
-    * This method is used to determine if a remote inode is a directory.
-    * @param remoteFile Full or relative path to the remote file.
-    * @return True if the remote inode is a directory. Otherwise false.
-    */
-    bool isDir (const char* remoteFile);
-
-
-    /**
-    * This method is used to retrieve a remote file and dump it into local file.
-    * @param remoteFile Full or relative path to the file on the remote side.
-    * @param localFile Pointer to the FILE structure. If the file being retrieved is binary, use "w+" attributes in fopen function.
-    * @return True if getting the file is succeeds. False on any error.
-    */
-    bool get (const char* remoteFile, FILE* localFile);
-
-    /**
-    * This method is used to upload a file to a remote server.
-    * @param localFile Pointer to the FILE structure. If the file being retrieved is binary, use "w+" attributes in fopen function.
-    * @param remoteFile Full or relative path to the file on the remote side.
-    * @return True if putting the file succeeds. False on any error.
-    */
-    bool put (FILE* localFile, const char* remoteFile);
-
-    /**
-    * This method is used to remove a file on a remote server.
-    * @param remoteFile Full or relative path to the file on the remote side.
-    * @return True if remove succeeds. False on any error.
-    */
-    bool rm (const char* remoteFile);
-
-    /**
-    * This method is used to rename/move files.
-    * @param oldFile Full or relative path to an old file on the remote server.
-    * @param newFile Full or relative path to a new file on the remote side.
-    * @return True if renaming successfull. False on any error.
-    */
-    bool mv (const char* oldFile, const char* newFile);
-
-    /**
-    * This method is used to create a new directory.
-    * @param remoteDir Full or relative path to a new directory on the remote server.
-    * @return True if the directory successfully created. False on any error.
-    */
-    bool mkdir (const char* remoteDir);
-
-    /**
-    * This method is used to remove a remote directory.
-    * @param remoteDir Full or relative path to a directory to be removed.
-    * @return True if the directory successfully removed. False on any error.
-    */
-    bool rmdir (const char* remoteDir);
-
-    /**
-    * This methods is used retrieve a listing of a remote directory.
-    * @param remoteDir Full or relative path to a directory.
-    * @param longNames If set to "true" the returned string in addition to file strings will contain attributes for each file.
-    * @return A pointer to a string containing the directory listing.
-    */
-    const char* ls (const char* remoteDir, bool longNames=false);
-
-    /**
-    * This method is used to change the current working directory.
-    * @param remoteDir Full or relative path to the new working directory on the remote server.
-    * @return True if change of directory succedded. False on any error.
-    */
-    bool cd (const char* remoteDir);
-
-    /**
-    * This method is used for changing the permissions associated with a remote file.
-    * @param remoteFile Full or relative path to the remote file.
-    * @param mode Mode string. It can be wither a numerical mode expression such as "755" or an expression showing the modifications to be made, such as "ug+w". Mode string is the same as used by *nix chmod command.
-    * @return True if the new permissions are succesfully applied to the remote file. False on any error.
-    */
-    bool chmod (const char* remoteFile, const char* mode);
-
-    /**
-    * This method is used to change the owner of a remote file.
-    * @param remoteFile Full or relative path to the remote file.
-    * @param uid Numerical new owner user ID.
-    * @param gid Numerical new owner group ID.
-    * @return True if the change of ownership succeeds. False on any error.
-    */
-    bool chown (const char* remoteFile, uint32 uid, uint32 gid = 0);
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.cpp
deleted file mode 100644
index e926fe57aa6..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_sftp_packet.h"
-#include "ne7ssh.h"
-
-using namespace Botan;
-
-Ne7sshSftpPacket::Ne7sshSftpPacket () : ne7ssh_string(), channel(-1)
-{
-}
-
-Ne7sshSftpPacket::Ne7sshSftpPacket (int _channel) : ne7ssh_string (), channel (_channel)
-{
-}
-
-Ne7sshSftpPacket::Ne7sshSftpPacket (Botan::SecureVector<Botan::byte>& var, uint32 position) : ne7ssh_string (var, position), channel(-1)
-{
-}
-
-Ne7sshSftpPacket::~Ne7sshSftpPacket()
-{
-}
-
-Botan::SecureVector<Botan::byte> &Ne7sshSftpPacket::value ()
-{
-  ne7ssh_string tmpVar;
-
-  if (this->channel < 0)
-  {
-    buffer.destroy();
-    return buffer;
-  }
-
-  tmpVar.addChar (SSH2_MSG_CHANNEL_DATA);
-  tmpVar.addInt (channel);
-  tmpVar.addInt (sizeof(uint32) + buffer.size());
-  tmpVar.addVectorField (buffer);
-
-  buffer.swap (tmpVar.value());
-  return buffer;
-}
-
-Botan::SecureVector<Botan::byte> Ne7sshSftpPacket::valueFragment (uint32 len)
-{
-  ne7ssh_string tmpVar;
-
-  if (this->channel < 0)
-  {
-    buffer.destroy();
-    return Botan::SecureVector<Botan::byte>();
-  }
-
-  tmpVar.addChar (SSH2_MSG_CHANNEL_DATA);
-  tmpVar.addInt (channel);
-  if (len)
-  {
-    tmpVar.addInt (sizeof(uint32) + buffer.size());
-    tmpVar.addInt (len);
-    tmpVar.addVector (buffer);
-  }
-  else tmpVar.addVectorField (buffer);
-
-  return Botan::SecureVector<Botan::byte> (tmpVar.value());
-}
-
-void Ne7sshSftpPacket::addInt64 (const uint64 var)
-{
-  uint8 converter[8];
-
-  converter[0] = (uint8) (var >> 56);
-  converter[1] = (uint8) (var >> 48);
-  converter[2] = (uint8) (var >> 40);
-  converter[3] = (uint8) (var >> 32);
-  converter[4] = (uint8) (var >> 24);
-  converter[5] = (uint8) (var >> 16);
-  converter[6] = (uint8) (var >> 8);
-  converter[7] = (uint8) var;
-
-  addBytes (converter, 8);
-}
-
-
-uint64 Ne7sshSftpPacket::getInt64 ()
-{
-  SecureVector<Botan::byte> tmpVar (buffer);
-  uint64 result;
-  uint8 converter[8];
-  memcpy (converter, tmpVar.begin(), 8);
-
-  result = (uint64)converter[0] << 56;
-  result |= (uint64)converter[1] << 48;
-  result |= (uint64)converter[2] << 40;
-  result |= (uint64)converter[3] << 32;
-  result |= (uint64)converter[4] << 24;
-  result |= (uint64)converter[5] << 16;
-  result |= (uint64)converter[6] << 8;
-  result |= (uint64)converter[7];
-
-  buffer.set (tmpVar.begin() + sizeof(uint64), tmpVar.size() - sizeof(uint64));
-  return result;
-}
-
-bool Ne7sshSftpPacket::isChannelSet ()
-{
-  if (this->channel == -1) return false;
-  else return true;
-}
-
-
-
-
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.h
deleted file mode 100644
index ab7408e5bc1..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_sftp_packet.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSHSFTPPACKET_H
-#define NE7SSHSFTPPACKET_H
-
-#include "ne7ssh_types.h"
-#include "ne7ssh_string.h"
-
-/**
-  @author Andrew Useckas <andrew@netsieben.com>
-*/
-class Ne7sshSftpPacket : public ne7ssh_string
-{
-  private:
-    int channel;
-
-  public:
-    /**
-     * Default constructor.
-     */
-
-    Ne7sshSftpPacket();
-    /**
-     * Constructor.
-     * @param channel Channel ID, returned by connect methods.
-     */
-    Ne7sshSftpPacket(int channel);
-
-    /**
-     * Constructor. Intializes the class with packet data.
-     * @param var Reference to packet data.
-     * @param position Offset.
-     */
-    Ne7sshSftpPacket(Botan::SecureVector<Botan::byte>& var, uint32 position);
-
-    /**
-     * Default destructor.
-     */
-    ~Ne7sshSftpPacket();
-
-    /**
-     * Returns buffer as a vector appending the SFTP subsystem specific packet headers.
-     * @return Reference to the buffer.
-     */
-    Botan::SecureVector<Botan::byte> &value ();
-
-    /**
-     * Returns buffer as a vector appending the SFTP subsystem specific packet headers, including the length in the first packet transmitted. Used in transmissions when it's necessary to split the message into multiple packets.
-     * @param len Length to append to the first packet in the message.
-     * @return Reference to SFTP packet or empty vector on error.
-     */
-    Botan::SecureVector<Botan::byte> valueFragment (uint32 len = 0);
-
-    /**
-     * Appends 64 bit integer to the packet buffer.
-     * @param var 64 bit integer.
-     */
-    void addInt64 (const uint64 var);
-
-    /**
-     * Retrieves a 64 bit integer from a packet buffer.
-     * @return Unsigned 64 bit integer.
-     */
-    uint64 getInt64 ();
-
-    /**
-     * Checks if the channel ID is set in the instance. Channel ID is needed to construct a SFTP packet.
-     * @return True if the channel ID is set. Otherwise false.
-     */
-    bool isChannelSet ();
-
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_string.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_string.cpp
deleted file mode 100644
index ef64f143206..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_string.cpp
+++ /dev/null
@@ -1,229 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_string.h"
-#include "ne7ssh.h"
-#include <cstdio>
-#if !defined(WIN32) && !defined(__MINGW32__)
-#   include <arpa/inet.h>
-#endif
-
-using namespace Botan;
-
-ne7ssh_string::ne7ssh_string() : positions(0), parts(0)
-{
-}
-
-ne7ssh_string::ne7ssh_string(Botan::SecureVector<Botan::byte>& var, uint32 position) : positions(0), parts(0)
-{
-  buffer.set ((var.begin() + position), (var.size() - position));
-}
-
-ne7ssh_string::ne7ssh_string(const char* var, uint32 position) : positions(0), parts(0)
-{
-  char null_char=0x0;
-  buffer.set ((Botan::byte*)(var + position), (u32bit) (strlen(var) - position));
-  buffer.append ((Botan::byte*) &null_char, 1);
-}
-
-ne7ssh_string::~ne7ssh_string()
-{
-  if (positions)
-      free (positions);
-}
-
-void ne7ssh_string::addString (const char* str)
-{
-  Botan::byte* value = (Botan::byte*) str;
-  size_t len = strlen(str);
-  uint32 nLen = htonl((long) len);
-
-  buffer.append ((Botan::byte*)&nLen, sizeof(uint32));
-  buffer.append (value, (u32bit) len);
-}
-
-bool ne7ssh_string::addFile (const char* filename)
-{
-  FILE *FI = fopen (filename, "rb");
-  size_t size;
-  Botan::byte* data;
-
-  if (!FI)
-  {
-    ne7ssh::errors()->push (-1, "Could not open key file: %s.", filename);
-    return false;
-  }
-
-  fseek (FI, 0L, SEEK_END);
-  size = ftell (FI);
-  if(size > 0) {
-      rewind (FI);
-
-      data = (Botan::byte*) malloc (size);
-      fread (data, size, 1, FI);
-      fclose (FI);
-      buffer.append (data, (u32bit) size);
-      free (data);
-      return true;
-  }
-  fclose(FI);
-  return false;
-}
-
-void ne7ssh_string::addBigInt (const Botan::BigInt& bn)
-{
-  SecureVector<Botan::byte> converted;
-  bn2vector (converted, bn);
-  uint32 nLen = htonl (converted.size());
-
-  buffer.append ((Botan::byte*)&nLen, sizeof(uint32));
-  buffer.append (converted);
-}
-
-void ne7ssh_string::addVectorField (const Botan::SecureVector<Botan::byte> &vector)
-{
-  uint32 nLen = htonl (vector.size());
-
-  buffer.append ((Botan::byte*)&nLen, sizeof(uint32));
-  buffer.append (vector);
-}
-
-
-void ne7ssh_string::addBytes (const Botan::byte* buff, uint32 len)
-{
-  buffer.append(buff, len);
-}
-
-void ne7ssh_string::addVector (Botan::SecureVector<Botan::byte> &secvec)
-{
-  buffer.append(secvec.begin(), secvec.size());
-}
-
-void ne7ssh_string::addChar (const char ch)
-{
-  buffer.append((Botan::byte*)&ch, 1);
-}
-
-void ne7ssh_string::addInt (const uint32 var)
-{
-  uint32 nVar = htonl (var);
-
-  buffer.append((Botan::byte*)&nVar, sizeof(uint32));
-}
-
-bool ne7ssh_string::getString (Botan::SecureVector<Botan::byte>& result)
-{
-  SecureVector<Botan::byte> tmpVar (buffer);
-  uint32 len;
-
-  len = ntohl (*((uint32*)tmpVar.begin()));
-  if (len > tmpVar.size()) return false;
-
-  result.set (tmpVar.begin() + sizeof(uint32), len);
-  buffer.set (tmpVar.begin() + sizeof(uint32) + len, tmpVar.size() - sizeof(uint32) - len);
-  return true;
-}
-
-bool ne7ssh_string::getBigInt (Botan::BigInt& result)
-{
-  SecureVector<Botan::byte> tmpVar (buffer);
-  uint32 len;
-
-  len = ntohl (*((uint32*)tmpVar.begin()));
-  if (len > tmpVar.size()) return false;
-
-  BigInt tmpBI (tmpVar.begin() + sizeof(uint32), len);
-  result.swap (tmpBI);
-  buffer.set (tmpVar.begin() + sizeof(uint32) + len, tmpVar.size() - sizeof(uint32) - len);
-  return true;
-}
-
-uint32 ne7ssh_string::getInt ()
-{
-  SecureVector<Botan::byte> tmpVar (buffer);
-  uint32 result;
-
-  result = ntohl (*((uint32*)tmpVar.begin()));
-  buffer.set (tmpVar.begin() + sizeof(uint32), tmpVar.size() - sizeof(uint32));
-  return result;
-}
-
-Botan::byte ne7ssh_string::getByte ()
-{
-  SecureVector<Botan::byte> tmpVar (buffer);
-  Botan::byte result;
-
-  result = *(tmpVar.begin());
-  buffer.set (tmpVar.begin() + 1, tmpVar.size() - 1);
-  return result;
-}
-
-
-void ne7ssh_string::split (const char token)
-{
-  Botan::byte* _buffer = buffer.begin();
-  uint32 len = buffer.size();
-  uint32 i;
-
-  if (positions) return;
-  positions = (Botan::byte**) malloc (sizeof(Botan::byte*) * (parts + 1));
-  positions[parts] = _buffer;
-  parts++;
-
-  for (i = 0; i < len; i++)
-  {
-    if (_buffer[i] == token)
-    {
-      _buffer[i] = '\0';
-      positions = (Botan::byte**) realloc (positions, sizeof(Botan::byte*) * (parts + 1));
-
-      positions[parts] = _buffer + i + 1;
-      parts++;
-    }
-  }
-}
-
-char* ne7ssh_string::nextPart ()
-{
-  char* result;
-  if (currentPart >= parts || !positions) return 0;
-
-  result = (char*) positions[currentPart];
-  currentPart++;
-
-  return result;
-}
-
-void ne7ssh_string::chop (uint32 nBytes)
-{
-  SecureVector<Botan::byte> tmpVar (buffer);
-  buffer.set (tmpVar.begin(), tmpVar.size() - nBytes);
-}
-
-
-void ne7ssh_string::bn2vector (Botan::SecureVector<Botan::byte>& result, const Botan::BigInt& bi)
-{
-  int high;
-  Botan::byte zero = '\0';
-
-  SecureVector<Botan::byte> strVector = BigInt::encode (bi);
-
-  high = (*(strVector.begin()) & 0x80) ? 1 : 0;
-
-  if (high) result.set (&zero, 1);
-  else result.clear();
-  result.append (strVector);
-}
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_string.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_string.h
deleted file mode 100644
index 1829fb48682..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_string.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_STRING_H
-#define NE7SSH_STRING_H
-
-#include "ne7ssh_types.h"
-#include <botan/bigint.h>
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_string
-{
-private:
-  Botan::byte **positions;
-  uint32 parts;
-  uint32 currentPart;
-
-protected:
-  Botan::SecureVector<Botan::byte> buffer;
-
-public:
-    /**
-     * ne7ssh_string class default consturctor.
-     *<p> Zeros out 'positions' and 'parts'.
-     */
-    ne7ssh_string();
-
-    /**
-     * ne7ssh_string class consturctor.
-     *<p> Takes a vector as an argument and places the data into 'buffer'.
-     * @param var Reference to a vector containing a string.
-     * @param position Position in the vector to start reading from. If '0', the entire vector is dumped into 'buffer'.
-     */
-    ne7ssh_string(Botan::SecureVector<Botan::byte>& var, uint32 position);
-
-    /**
-     * Same as above costructor, but instead of vector it works with a string (const char*).
-     * @param var  Pointer to a string terminated by '/0'.
-     * @param position  Read from this position onwards.
-     */
-    ne7ssh_string(const char* var, uint32 position);
-
-    /**
-     * ne7ssh_string class destructor.
-     */
-    virtual ~ne7ssh_string();
-
-    /**
-     * Zeros out the buffer
-     */
-    void clear() { buffer.destroy(); }
-
-    /**
-     * Adds a string to the buffer.
-     * <p>Adds an integer representing the length of the string, converted to the network format, before the actual string data.
-     * Required by SSH protocol specifications.
-     * @param str pointer to a string.
-     */
-    void addString (const char* str);
-
-    /**
-     * Reads content of an ASCII file and appends it to the buffer.
-     * @param filename Full path to ASCII file.
-     * @return True is file is successfully read. Otherwise False is returned.
-     */
-    bool addFile (const char* filename);
-
-    /**
-     * Adds a byte stream to the buffer.
-     * @param buff Pointer to the byte stream.
-     * @param len Length of the byte stream.
-     */
-    void addBytes (const Botan::byte* buff, uint32 len);
-
-    /**
-     * Adds a vector to the buffer.
-     * @param secvec Reference to the vector.
-     */
-    void addVector (Botan::SecureVector<Botan::byte>& secvec);
-
-    /**
-     * Adds a vector to the buffer.
-     * <p>Adds an integer representing the length of the vector, converted to the network format, before the actual data.
-     * Required by SSH protocol specifications.
-     * @param vector Reference to a vector.
-     */
-    void addVectorField (const Botan::SecureVector<Botan::byte>& vector);
-
-    /**
-     * Adds a single character to the buffer.
-     * @param ch a single character.
-     */
-    void addChar (const char ch);
-
-    /**
-     * Adds a single integer to the buffer.
-     *<p>Integer is converted to network format as required by SSH protocol specifications.
-     * @param var a single integer.
-     */
-    void addInt (const uint32 var);
-
-    /**
-     * Adds a BigInt variable to the buffer.
-     *<p>BigInt is first converted to a vector, then the integer, representing length of the vector is converted to the network format.
-     * Converted ingeger is added to the buffer, followed by the vector.
-     * @param bn Reference to BigInt variable.
-     */
-    void addBigInt (const Botan::BigInt& bn);
-
-    /**
-     * Returns the buffer as a vector.
-     * @return Reference to the 'buffer' vector.
-     */
-    virtual Botan::SecureVector<Botan::byte> &value () { return buffer; }
-
-    /**
-     * Returns current length of the buffer.
-     * @return Length of the buffer.
-     */
-    uint32 length () { return buffer.size(); }
-
-    /**
-     * Extracts a single string from the payload field of SSH packet.
-     * @param result Reference to a buffer where the result will be stored.
-     * @return True if string field was found and successfully parsed, otherwise false is returned.
-     */
-    bool getString (Botan::SecureVector<Botan::byte>& result);
-
-    /**
-     * Extracts a single BigInt variable from the payload field of SSH packet.
-     * @param result Reference to a BigInt variable where the result will be stored.
-     * @return True if BigInt field was found and successfully parsed, otherwise false is returned.
-     */
-    bool getBigInt (Botan::BigInt& result);
-
-    /**
-     * Extracts a single unsigned integer (uint32) from the payload field of SSH packet.
-     * @return The integer extracted from the next 4 bytes of the payload.
-     */
-    uint32 getInt ();
-
-    /**
-     * Extracts a single byte from tje payload field of SSH packet.
-     * @return A byte extracted from thenext byte of the payload.
-     */
-    Botan::byte getByte ();
-
-    /**
-     * Splits the buffer into strings separated by null character.
-     * @param token Searches for this character in the buffer, replaces it with null and creates a part index.
-     */
-    void split (const char token);
-
-    /**
-     * Returns to the first part.
-     */
-    void resetParts () { currentPart = 0; }
-
-    /**
-     * Returns the next part.
-     * @return NULL terminated string, or 0 if this is the last part.
-     */
-    char* nextPart ();
-
-    /**
-     * Chops bytes off of the end of the buffer.
-     * @param nBytes How many bytes to chop off the end of the buffer.
-     */
-    void chop (uint32 nBytes);
-
-    /**
-     * Converts BigInt into vector
-     * <p> For internal use only
-     * @param result Reference to vector where the converted result will be dumped.
-     * @param bi Reference to BigInt to convert.
-     */
-    static void bn2vector (Botan::SecureVector<Botan::byte>& result, const Botan::BigInt& bi);
-
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_transport.cpp b/src/libs/3rdparty/net7ssh/src/ne7ssh_transport.cpp
deleted file mode 100644
index 5ad1b0dc7c6..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_transport.cpp
+++ /dev/null
@@ -1,438 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#include "ne7ssh_transport.h"
-#include "ne7ssh.h"
-#include "ne7ssh_session.h"
-
-#if defined(WIN32) || defined(__MINGW32__)
-#   define SOCKET_BUFFER_TYPE char
-#   define close closesocket
-#   define SOCK_CAST (char *)
-class WSockInitializer
-{
-public:
-  WSockInitializer()
-  {
-    static WSADATA wsaData;
-    WSAStartup(MAKEWORD(2, 2), &wsaData);
-  }
-  ~WSockInitializer()
-  {
-    WSACleanup();
-  }
-}
-;
-WSockInitializer _wsock32_;
-#else
-#   define SOCKET_BUFFER_TYPE void
-#   define SOCK_CAST (void *)
-#   include <sys/socket.h>
-#   include <netinet/in.h>
-#   include <netdb.h>
-#endif
-
-using namespace Botan;
-
-ne7ssh_transport::ne7ssh_transport(ne7ssh_session* _session) : seq(0), rSeq(0), session(_session), sock(-1)
-{
-}
-
-ne7ssh_transport::~ne7ssh_transport()
-{
-  if (((long) sock) > -1) close (sock);
-}
-
-SOCKET ne7ssh_transport::establish (const char *host, uint32 port, int timeout)
-{
-  sockaddr_in remoteAddr;
-  hostent *remoteHost;
-
-  remoteHost = gethostbyname (host);
-  if (!remoteHost || remoteHost->h_length == 0)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Host: '%s' not found.", host);
-    return -1;
-  }
-  remoteAddr.sin_family = AF_INET;
-  remoteAddr.sin_addr.s_addr = *(long*) remoteHost->h_addr_list[0];
-  remoteAddr.sin_port = htons (port);
-
-  sock = socket (AF_INET, SOCK_STREAM, 0);
-  if (sock < 0)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Failure to bind to socket.");
-    return -1;
-  }
-
-  if (timeout < 1)
-  {
-    if (connect (sock, (struct sockaddr*) &remoteAddr, sizeof(remoteAddr)))
-    {
-      ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Unable to connect to remote server: '%s'.", host);
-      return -1;
-    }
-
-    if (!NoBlock (sock, true)) return -1;
-    else return sock;
-  }
-  else
-  {
-    if (!NoBlock (sock, true))
-        return -1;
-
-    if (connect (sock, (struct sockaddr*) &remoteAddr, sizeof(remoteAddr)) == -1)
-    {
-      fd_set rfds;
-      struct timeval waitTime;
-
-      waitTime.tv_sec = timeout;
-      waitTime.tv_usec = 0;
-
-      FD_ZERO(&rfds);
-      FD_SET(sock, &rfds);
-
-      int status;
-      status = select(sock+1, &rfds, NULL, NULL, &waitTime);
-
-      if ( status == 0 )
-      {
-          if ( ! FD_ISSET(sock, &rfds) )
-          {
-              ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Couldn't connect to remote server : timeout");
-              return -1;
-          }
-      }
-      if ( status < 0 )
-      {
-          ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Couldn't connect to remote server during select");
-          return -1;
-      }
-    }
-    return sock;
-  }
-}
-
-bool ne7ssh_transport::NoBlock (SOCKET socket, bool on)
-{
-#ifndef WIN32
-  int options;
-  if ((options = fcntl ( socket, F_GETFL )) < 0)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Cannot read options of the socket: %i.", (int)socket);
-    return false;
-  }
-
-  if ( on ) options = ( options | O_NONBLOCK );
-  else  options = ( options & ~O_NONBLOCK );
-  fcntl (socket, F_SETFL, options);
-#else
-  unsigned long options = 1;
-  if (ioctlsocket(socket, FIONBIO, &options))
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Cannot set asynch I/O on the socket: %i.", (int)socket);
-    return false;
-  }
-#endif
-  return true;
-}
-
-bool ne7ssh_transport::haveData ()
-{
-  return wait (sock, 0, 0);
-}
-
-bool ne7ssh_transport::wait (SOCKET socket, int rw, int timeout)
-{
-    int status;
-    fd_set rfds, wfds;
-    struct timeval waitTime;
-
-    if (timeout > -1)
-    {
-      waitTime.tv_sec = timeout;
-      waitTime.tv_usec = 0;
-    }
-
-    if (!rw)
-    {
-      FD_ZERO(&rfds);
-      FD_SET(socket, &rfds);
-    }
-    else
-    {
-      FD_ZERO(&wfds);
-      FD_SET(socket, &wfds);
-    }
-
-    if (!rw)
-    {
-      if (timeout > -1) status = select(socket + 1, &rfds, NULL, NULL, &waitTime);
-      else status = select(socket + 1, &rfds, NULL, NULL, NULL);
-    }
-    else status = select(socket + 1, NULL, &wfds, NULL, NULL);
-
-    if (status > 0)
-      return true;
-    else
-      return false;
-}
-
-
-bool ne7ssh_transport::send (Botan::SecureVector<Botan::byte>& buffer)
-{
-  long byteCount;
-  uint32 sent = 0;
-
-  if (buffer.size() > MAX_PACKET_LEN)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Cannot send. Packet too large for the transport layer.");
-    return false;
-  }
-
-  while (sent < buffer.size())
-  {
-    if (wait(sock, 1))
-      byteCount = ::send(sock, (const SOCKET_BUFFER_TYPE *) (buffer.begin() + sent), buffer.size() - sent, 0);
-    else return false;
-    if (byteCount < 0)
-        return false;
-    sent += byteCount;
-  }
-
-  return true;
-}
-
-bool ne7ssh_transport::receive (Botan::SecureVector<Botan::byte>& buffer, bool append)
-{
-  Botan::byte in_buffer[MAX_PACKET_LEN];
-  int len;
-
-  if (wait(sock, 0))
-    len = ::recv (sock, (char*) in_buffer, MAX_PACKET_LEN, 0);
-
-  if (!len)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Received a packet of zero length.");
-    return false;
-  }
-
-  if (len > MAX_PACKET_LEN)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Received packet exceeds the maximum size");
-    return false;
-  }
-
-  if (len < 0)
-  {
-    ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Connection dropped");
-    return false;
-  }
-
-  if (append) buffer.append (in_buffer, len);
-  else
-  {
-    buffer.clear();
-    buffer.set (in_buffer, len);
-  }
-
-  return true;
-}
-
-bool ne7ssh_transport::sendPacket (Botan::SecureVector<Botan::byte> &buffer)
-{
-  ne7ssh_crypt *_crypto = session->crypto;
-  ne7ssh_string out;
-  uint32 crypt_block;
-  char padLen;
-  uint32 packetLen;
-  Botan::byte *padBytes;
-  uint32 length;
-  SecureVector<Botan::byte> crypted, hmac;
-
-// No Zlib support right now
-//  if (_crypto->isInited()) _crypto->compressData (buffer);
-  length = buffer.size();
-
-  crypt_block = _crypto->getEncryptBlock();
-  if (!crypt_block) crypt_block = 8;
-
-  padLen = 3 + crypt_block - ((length + 8) % crypt_block);
-  packetLen = 1 + length + padLen;
-
-  out.addInt (packetLen);
-  out.addChar (padLen);
-  out.addVector (buffer);
-
-  padBytes = (Botan::byte*) malloc (padLen);
-  memset (padBytes, 0x00, padLen);
-  out.addBytes (padBytes, padLen);
-  free (padBytes);
-
-  if (_crypto->isInited())
-  {
-    if (!_crypto->encryptPacket (crypted, hmac, out.value(), seq))
-    {
-      ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Failure to encrypt the payload.");
-      return false;
-    }
-    crypted.append (hmac);
-    if (!send (crypted)) return false;
-  }
-  else if (!send (out.value())) return false;
-  if (seq == MAX_SEQUENCE) seq = 0;
-  else seq++;
-  return true;
-}
-
-short ne7ssh_transport::waitForPacket (Botan::byte cmd, bool bufferOnly)
-{
-  ne7ssh_crypt *_crypto = session->crypto;
-  Botan::byte _cmd;
-  SecureVector<Botan::byte> tmpVar, decrypted, uncommpressed, ourMac, hMac;
-  uint32 len, cryptoLen;
-  bool havePacket = false;
-
-/*  if (_crypto->isInited())
-  {
-    if (!in.is_empty()) _crypto->decryptPacket (tmpVar, in, _crypto->getDecryptBlock(), seq);
-    else tmpVar.destroy();
-  }
-  else*/
-  tmpVar.set (in);
-
-  if (!tmpVar.is_empty())
-  {
-    if (_crypto->isInited())
-    {
-      if (!in.is_empty()) _crypto->decryptPacket (tmpVar, in, _crypto->getDecryptBlock());
-      else tmpVar.destroy();
-    }
-    _cmd = *(tmpVar.begin() + 5);
-
-    if (_cmd > 0 && _cmd < 0xff) havePacket = true;
-  }
-
-  if (!havePacket)
-  {
-    if (bufferOnly) return 0;
-    if (!receive(in)) return -1;
-
-    if (_crypto->isInited())
-    {
-      if (!in.is_empty()) _crypto->decryptPacket (tmpVar, in, _crypto->getDecryptBlock());
-      else tmpVar.destroy();
-    }
-    else
-    {
-      while (in.size() < 4)
-        if (!receive(in, true)) return -1;
-
-      cryptoLen = ntohl (*((int*)in.begin())) + sizeof(uint32);
-      while (in.size() < cryptoLen)
-        if (!receive(in, true)) return -1;
-
-      tmpVar.set (in);
-    }
-  }
-
-  len = ntohl (*((int*)tmpVar.begin()));
-  cryptoLen = len + sizeof(uint32);
-
-  decrypted.set (tmpVar);
-  if (_crypto->isInited())
-  {
-    while (((cryptoLen + _crypto->getMacInLen()) > in.size()) || (in.size() % _crypto->getDecryptBlock()))
-    {
-      if (!receive(in, true)) return 0;
-    }
-    if (cryptoLen > _crypto->getDecryptBlock())
-    {
-      tmpVar.set (in.begin() + _crypto->getDecryptBlock(), (cryptoLen - _crypto->getDecryptBlock()));
-      if (!in.is_empty()) _crypto->decryptPacket (tmpVar, tmpVar, tmpVar.size());
-      decrypted.append (tmpVar);
-    }
-    if (_crypto->getMacInLen())
-    {
-      _crypto->computeMac (ourMac, decrypted, rSeq );
-      hMac.set (in.begin() + cryptoLen, _crypto->getMacInLen());
-      if (hMac != ourMac)
-      {
-        ne7ssh::errors()->push (((ne7ssh_session*)session)->getSshChannel(), "Mismatched HMACs.");
-        return -1;
-      }
-      cryptoLen += _crypto->getMacInLen();
-    }
-
-
-// No Zlib support right now
-/*    if (_crypto->isCompressed())
-    {
-      tmpVar.set (decrypted.begin() + 5, len);
-      _crypto->decompressData (tmpVar);
-      uncommpressed.set (decrypted.begin(), 4);
-      uncommpressed.append (tmpVar);
-      decrypted.set (uncommpressed);
-    }*/
-  }
-
-   if (rSeq == MAX_SEQUENCE) rSeq = 0;
-   else rSeq++;
-  _cmd = *(decrypted.begin() + 5);
-
-  if (cmd == _cmd || !cmd)
-  {
-    inBuffer.set (decrypted);
-    if (!(in.size() - cryptoLen)) in.destroy();
-    else
-    {
-      tmpVar.swap (in);
-      in.set (tmpVar.begin() + cryptoLen, tmpVar.size() - cryptoLen);
-    }
-    return _cmd;
-  }
-  else return 0;
-
-}
-
-uint32 ne7ssh_transport::getPacket (Botan::SecureVector<Botan::byte> &result)
-{
-  ne7ssh_crypt *_crypto = session->crypto;
-  SecureVector<Botan::byte> tmpVector(inBuffer);
-  uint32 len = ntohl (*((uint32*)tmpVector.begin()));
-  Botan::byte padLen = *(tmpVector.begin() + 4);
-  uint32 macLen = _crypto->getMacInLen();
-
-  if (inBuffer.is_empty())
-  {
-    result.clear();
-    return 0;
-  }
-
-  if (_crypto->isInited())
-  {
-    len += macLen;
-    if (len > tmpVector.size()) len -= macLen;
-  }
-
-  tmpVector.append ((uint8*)"\0", 1);
-  result.set (tmpVector.begin() + 5, len);
-  _crypto->decompressData (result);
-
-  inBuffer.destroy();
-  return padLen;
-}
-
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_transport.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_transport.h
deleted file mode 100644
index 2cbc6ced271..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_transport.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_TRANSPORT_H
-#define NE7SSH_TRANSPORT_H
-
-#include "crypt.h"
-#include "ne7ssh_types.h"
-#include "ne7ssh_string.h"
-
-#if defined(WIN32) || defined(__MINGW32__)
-#   include <winsock.h>
-#endif
-#include <sys/types.h>
-
-//#define MAX_PACKET_LEN 35000
-#define MAX_PACKET_LEN 34816
-#define MAX_SEQUENCE 4294967295U
-
-#if !defined(WIN32) && !defined(__MINGW32__)
-#  define SOCKET int
-#endif
-
-class ne7ssh_session;
-
-/**
-@author Andrew Useckas
-*/
-class ne7ssh_transport
-{
-  private:
-    uint32 seq, rSeq;
-    const ne7ssh_session* session;
-    SOCKET sock;
-    Botan::SecureVector<Botan::byte> in;
-    Botan::SecureVector<Botan::byte> inBuffer;
-
-    /**
-     * Switches socket's NonBlocking option on or off.
-     * @param socket Socket number.
-     * @param on If set to true, NonBlocking option will be turned on, and vice versa.
-     * @return True if options have been successfuly set, otherwise false is returned.
-     */
-    bool NoBlock (SOCKET socket, bool on);
-
-    /**
-     * Waits for activity on a socket.
-     * @param socket Socket number.
-     * @param rw If set to true, checks if process can write to the socket, otherwise checks if there is data to be read from the socket.
-     * @param timeout Desired timeout. By default the function will block until socket is ready for reading/writting. If set to '0', the function will return right away.
-     * @return True if socket is ready for reading/writting, otherwise false is returned.
-     */
-    bool wait (SOCKET socket, int rw, int timeout = -1);
-
-  public:
-    /**
-     * ne7ssh_transport class constructor.
-     * <p> Transport class handles all socket communications for the ne7ssh library.
-     * @param _session Pointer to ne7ssh_session instance.
-     */
-    ne7ssh_transport(ne7ssh_session* _session);
-
-    /**
-     * ne7ssh_transport class destructor.
-     */
-    ~ne7ssh_transport();
-
-    /**
-     * Establishes connection to a remote host.
-     * @param host Host name or IP.
-     * @param port Port.
-     * @param timeout Timeout for the establish procedure, in seconds.
-     * @return Socket number or -1 on failure.
-     */
-    SOCKET establish (const char *host, uint32 port, int timeout = 0);
-
-    /**
-     * Reads data from the socket.
-     * @param buffer The data will be placed here.
-     * @param append If set to true, received data will be appended to the buffer, instead of overwriting it.
-     * @return True if data successfuly read, otherwise false is returned.
-     */
-    bool receive (Botan::SecureVector<Botan::byte>& buffer, bool append = false);
-
-    /**
-     * Writes a buffer to the socket.
-     * @param buffer Data to be written to the socket.
-     * @return True if data successful sent, otherwise false is returned.
-     */
-    bool send (Botan::SecureVector<Botan::byte>& buffer);
-
-    /**
-     * Assembles an SSH packet, as specified in SSH standards and passes the buffer to send() function.
-     * @param buffer Payload to be sent.
-     * @return True if send successful, otherwise false is returned.
-     */
-    bool sendPacket (Botan::SecureVector<Botan::byte>& buffer);
-
-    /**
-     * Waits until specified type of packet is received.
-     * <p> If cmd is 0, waits for the first available packet of any kind.
-     * <p> Once the desired packet is received, it is decrypted / decommpressed, the hMac is checked, and dropped into inBuffer class variable.
-     * @param cmd SSH2 packet to wait for. If 0, first available packet will be read into inBuffer class variable.
-     * @param bufferOnly Does not wait to receive a new packet, only checks existing receive buffer for unprocessed packets.
-     * @return 1 if desired packet is received, 0 if there another packet is received, or -1 if HMAC checking is enabled, and remote and local HMACs do not match.
-     */
-    short waitForPacket (Botan::byte cmd, bool bufferOnly = false);
-
-    /**
-     * Gets the payload section from an SSH packet received by waitForPacket() function.
-     * @param result The payload will be stored here.
-     * @return The SSH packet passing length.
-     */
-    uint32 getPacket (Botan::SecureVector<Botan::byte>& result);
-
-    /**
-     * Checks to see if there is more data to be read from the socket.
-     * @return True if there is data to be read, otherwise false is returned.
-     */
-    bool haveData ();
-};
-
-#endif
diff --git a/src/libs/3rdparty/net7ssh/src/ne7ssh_types.h b/src/libs/3rdparty/net7ssh/src/ne7ssh_types.h
deleted file mode 100644
index 68af80c0047..00000000000
--- a/src/libs/3rdparty/net7ssh/src/ne7ssh_types.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2005-2007 by NetSieben Technologies INC                 *
- *   Author: Andrew Useckas                                                *
- *   Email: andrew@netsieben.com                                           *
- *                                                                         *
- *   Windows Port and bugfixes: Keef Aragon <keef@netsieben.com>           *
- *                                                                         *
- *   This program may be distributed under the terms of the Q Public       *
- *   License as defined by Trolltech AS of Norway and appearing in the     *
- *   file LICENSE.QPL included in the packaging of this file.              *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                  *
- ***************************************************************************/
-
-#ifndef NE7SSH_TYPES_H
-#define NE7SSH_TYPES_H
-
-#if defined(WIN32) || defined(__MINGW32)
-  typedef int int32_t;
-  typedef long long      int64_t;
-  typedef short        int16_t;
-  typedef signed char  int8_t;
-
-  typedef unsigned int uint32_t;
-  typedef unsigned long long uint64_t;
-  typedef unsigned short uint16_t;
-  typedef unsigned char  uint8_t;
-
-#   if defined(_WINDLL) || defined(_USRDLL) || defined(_CONSOLE) || defined(_WINDOWS)
-#       ifdef NE7SSH_EXPORTS
-#        define SSH_EXPORT __declspec(dllexport)
-#      else
-#        define SSH_EXPORT __declspec(dllimport)
-#      endif
-#   else
-#       define SSH_EXPORT
-#   endif
-#else
-#  include <inttypes.h>
-#  define SSH_EXPORT __attribute__ ((visibility("default")))
-#endif
-
-#ifndef int64_defined
-#define int64_defined
-typedef int64_t int64;
-#endif
-
-#ifndef uint64_defined
-#define uint64_defined
-typedef uint64_t uint64;
-#endif
-
-#ifndef int32_defined
-#define int32_defined
-typedef int32_t int32;
-#endif
-
-#ifndef uint32_defined
-#define uint32_defined
-typedef uint32_t uint32;
-#endif
-
-#ifndef int16_defined
-#define int16_defined
-typedef int16_t int16;
-#endif
-
-#ifndef uint16_defined
-#define uint16_defined
-typedef uint16_t uint16;
-#endif
-
-#ifndef int8_defined
-#define int8_defined
-typedef int8_t int8;
-#endif
-
-#ifndef uint8_defined
-#define uint8_defined
-typedef uint8_t uint8;
-#endif
-
-#ifndef Byte_defined
-#define Byte_defined
-typedef uint8_t Byte;
-#endif
-
-#if defined(WIN32) || defined(__MINGW32__)
-#  define usleep(time) Sleep(time / 1000)
-#endif
-
-#endif
-
diff --git a/src/libs/3rdparty/net7ssh/src/src.pro b/src/libs/3rdparty/net7ssh/src/src.pro
deleted file mode 100644
index 1584dc722c0..00000000000
--- a/src/libs/3rdparty/net7ssh/src/src.pro
+++ /dev/null
@@ -1,54 +0,0 @@
-TEMPLATE = lib
-TARGET = Net7ssh
-
-CONFIG += dll
-
-include(../../../../qtcreatorlibrary.pri)
-
-DEPENDPATH += .
-INCLUDEPATH += $$PWD $$PWD/../../botan $$PWD/../../botan/build
-
-include(../net7ssh_dependencies.pri)
-
-win32 {
-    LIBS +=  -lWs2_32
-    win32-msvc*: QMAKE_CXXFLAGS += -wd4100 -wd4101 -wd4250 -wd4251 -wd4290
-
-    DEFINES += _CRT_SECURE_NO_WARNINGS
-    DEFINES += NE7SSH_EXPORTS=1 _WINDLL _USRDLL _CONSOLE _WINDOWS
-}
-
-unix {
-    QMAKE_CXXFLAGS_HIDESYMS -= -fvisibility-inlines-hidden # for ubuntu 7.04
-    QMAKE_CXXFLAGS += -Wno-unused-parameter
-}
-
-# Input
-HEADERS += crypt.h \
-        ne7ssh.h \
-        ne7ssh_channel.h \
-        ne7ssh_connection.h \
-        ne7ssh_error.h \
-        ne7ssh_kex.h \
-        ne7ssh_keys.h \
-        ne7ssh_mutex.h \
-        ne7ssh_session.h \
-        ne7ssh_sftp.h \
-        ne7ssh_sftp_packet.h \
-        ne7ssh_string.h \
-        ne7ssh_transport.h \
-        ne7ssh_types.h
-
-SOURCES += crypt.cpp \
-        ne7ssh.cpp \
-        ne7ssh_channel.cpp \
-        ne7ssh_connection.cpp \
-        ne7ssh_error.cpp \
-        ne7ssh_kex.cpp \
-        ne7ssh_keys.cpp \
-        ne7ssh_mutex.cpp \
-        ne7ssh_session.cpp \
-        ne7ssh_sftp.cpp \
-        ne7ssh_sftp_packet.cpp \
-        ne7ssh_string.cpp \
-        ne7ssh_transport.cpp
diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp
index 8e0107ed406..8c7e9bede3c 100644
--- a/src/plugins/coreplugin/coreplugin.cpp
+++ b/src/plugins/coreplugin/coreplugin.cpp
@@ -34,7 +34,6 @@
 #include "modemanager.h"
 #include "fileiconprovider.h"
 #include "designmode.h"
-#include "ssh/ne7sshobject.h"
 
 #include <extensionsystem/pluginmanager.h>
 
@@ -89,7 +88,6 @@ bool CorePlugin::initialize(const QStringList &arguments, QString *errorMessage)
 
         m_designMode = new DesignMode(editorManager);
         addObject(m_designMode);
-        Ne7SshObject::instance();
     }
     return success;
 }
@@ -113,7 +111,6 @@ void CorePlugin::fileOpenRequest(const QString &f)
 void CorePlugin::aboutToShutdown()
 {
     m_mainWindow->aboutToShutdown();
-    Ne7SshObject::removeInstance();
 }
 
 Q_EXPORT_PLUGIN(CorePlugin)
diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro
index 3b607d037b6..ad81f39dc6e 100644
--- a/src/plugins/coreplugin/coreplugin.pro
+++ b/src/plugins/coreplugin/coreplugin.pro
@@ -85,10 +85,27 @@ SOURCES += mainwindow.cpp \
     editormanager/systemeditor.cpp \
     designmode.cpp \
     editortoolbar.cpp \
-    ssh/ne7sshobject.cpp \
-    ssh/sshconnection.cpp \
+    helpmanager.cpp \
+    ssh/sshsendfacility.cpp \
+    ssh/sshremoteprocess.cpp \
+    ssh/sshpacketparser.cpp \
+    ssh/sshpacket.cpp \
+    ssh/sshoutgoingpacket.cpp \
     ssh/sshkeygenerator.cpp \
-    helpmanager.cpp
+    ssh/sshkeyexchange.cpp \
+    ssh/sshincomingpacket.cpp \
+    ssh/sshcryptofacility.cpp \
+    ssh/sshconnection.cpp \
+    ssh/sshchannelmanager.cpp \
+    ssh/sshchannel.cpp \
+    ssh/sshcapabilities.cpp \
+    ssh/sftppacket.cpp \
+    ssh/sftpoutgoingpacket.cpp \
+    ssh/sftpoperation.cpp \
+    ssh/sftpincomingpacket.cpp \
+    ssh/sftpdefs.cpp \
+    ssh/sftpchannel.cpp \
+    ssh/sshdelayedsignal.cpp
 
 HEADERS += mainwindow.h \
     editmode.h \
@@ -171,10 +188,33 @@ HEADERS += mainwindow.h \
     editormanager/systemeditor.h \
     designmode.h \
     editortoolbar.h \
-    ssh/ne7sshobject.h \
-    ssh/sshconnection.h \
+    helpmanager.h \
+    ssh/sshsendfacility_p.h \
+    ssh/sshremoteprocess.h \
+    ssh/sshremoteprocess_p.h \
+    ssh/sshpacketparser_p.h \
+    ssh/sshpacket_p.h \
+    ssh/sshoutgoingpacket_p.h \
     ssh/sshkeygenerator.h \
-    helpmanager.h
+    ssh/sshkeyexchange_p.h \
+    ssh/sshincomingpacket_p.h \
+    ssh/sshexception_p.h \
+    ssh/ssherrors.h \
+    ssh/sshcryptofacility_p.h \
+    ssh/sshconnection.h \
+    ssh/sshconnection_p.h \
+    ssh/sshchannelmanager_p.h \
+    ssh/sshchannel_p.h \
+    ssh/sshcapabilities_p.h \
+    ssh/sshbotanconversions_p.h \
+    ssh/sftppacket_p.h \
+    ssh/sftpoutgoingpacket_p.h \
+    ssh/sftpoperation_p.h \
+    ssh/sftpincomingpacket_p.h \
+    ssh/sftpdefs.h \
+    ssh/sftpchannel.h \
+    ssh/sftpchannel_p.h \
+    ssh/sshdelayedsignal_p.h
 
 FORMS += dialogs/newdialog.ui \
     actionmanager/commandmappings.ui \
diff --git a/src/plugins/coreplugin/coreplugin_dependencies.pri b/src/plugins/coreplugin/coreplugin_dependencies.pri
index 8726e1be080..e908601b226 100644
--- a/src/plugins/coreplugin/coreplugin_dependencies.pri
+++ b/src/plugins/coreplugin/coreplugin_dependencies.pri
@@ -1,3 +1,3 @@
 include(../../libs/extensionsystem/extensionsystem.pri)
 include(../../libs/utils/utils.pri)
-include(../../libs/3rdparty/net7ssh/net7ssh.pri)
+include(../../libs/3rdparty/botan/botan.pri)
diff --git a/src/plugins/coreplugin/ssh/ne7sshobject.cpp b/src/plugins/coreplugin/ssh/ne7sshobject.cpp
deleted file mode 100644
index 9f94a55b970..00000000000
--- a/src/plugins/coreplugin/ssh/ne7sshobject.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of Qt Creator.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "ne7sshobject.h"
-
-#include <QtCore/QMutexLocker>
-
-#include <ne7ssh.h>
-
-namespace Core {
-namespace Internal {
-
-Ne7SshObject *Ne7SshObject::instance()
-{
-    if (!m_instance)
-        m_instance = new Ne7SshObject;
-    return m_instance;
-}
-
-void Ne7SshObject::removeInstance()
-{
-    delete m_instance;
-}
-
-Ne7SshObject::Ptr Ne7SshObject::get()
-{
-    QMutexLocker locker(&m_mutex);
-    QSharedPointer<ne7ssh> shared = m_weakRef.toStrongRef();
-    if (!shared) {
-        shared = QSharedPointer<ne7ssh>(new ne7ssh);
-        m_weakRef = shared;
-    }
-    return shared;
-}
-
-Ne7SshObject::Ne7SshObject()
-{
-}
-
-Ne7SshObject *Ne7SshObject::m_instance = 0;
-
-} // namespace Internal
-} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/ne7sshobject.h b/src/plugins/coreplugin/ssh/ne7sshobject.h
deleted file mode 100644
index 77d601ec869..00000000000
--- a/src/plugins/coreplugin/ssh/ne7sshobject.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of Qt Creator.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef NE7SSHOBJECT_H
-#define NE7SSHOBJECT_H
-
-#include <coreplugin/core_global.h>
-
-#include <QtCore/QMutex>
-#include <QtCore/QSharedPointer>
-#include <QtCore/QWeakPointer>
-
-class ne7ssh;
-
-namespace Core {
-namespace Internal {
-
-class Ne7SshObject
-{
-public:
-    typedef QSharedPointer<ne7ssh> Ptr;
-
-    static Ne7SshObject *instance();
-    static void removeInstance();
-
-    Ptr get();
-
-private:
-    Ne7SshObject();
-    Ne7SshObject(const Ne7SshObject &);
-    Ne7SshObject &operator=(const Ne7SshObject &);
-
-    static Ne7SshObject *m_instance;
-
-    QWeakPointer<ne7ssh> m_weakRef;
-    QMutex m_mutex;
-};
-
-} // namespace Internal
-} // namespace Core
-
-#endif // NE7SSHOBJECT_H
diff --git a/src/plugins/coreplugin/ssh/sftpchannel.cpp b/src/plugins/coreplugin/ssh/sftpchannel.cpp
new file mode 100644
index 00000000000..2cb31a3bcec
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpchannel.cpp
@@ -0,0 +1,756 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sftpchannel.h"
+#include "sftpchannel_p.h"
+
+#include "sshdelayedsignal_p.h"
+#include "sshexception_p.h"
+#include "sshsendfacility_p.h"
+
+#include <QtCore/QFile>
+#include <QtCore/QWeakPointer>
+
+namespace Core {
+
+namespace Internal {
+namespace {
+    const quint32 ProtocolVersion = 3;
+
+    QString errorMessage(const QString &serverMessage,
+        const QString &alternativeMessage)
+    {
+        return serverMessage.isEmpty() ? alternativeMessage : serverMessage;
+    }
+
+    QString errorMessage(const SftpStatusResponse &response,
+        const QString &alternativeMessage)
+    {
+        return response.status == SSH_FX_OK ? QString()
+            : errorMessage(response.errorString, alternativeMessage);
+    }
+} // anonymous namespace
+} // namespace Internal
+
+SftpChannel::SftpChannel(quint32 channelId,
+    Internal::SshSendFacility &sendFacility)
+    : d(new Internal::SftpChannelPrivate(channelId, sendFacility, this))
+{
+}
+
+SftpChannel::State SftpChannel::state() const
+{
+    switch (d->channelState()) {
+    case Internal::AbstractSshChannel::Inactive:
+        return Uninitialized;
+    case Internal::AbstractSshChannel::SessionRequested:
+        return Initializing;
+    case Internal::AbstractSshChannel::CloseRequested:
+        return Closing;
+    case Internal::AbstractSshChannel::Closed:
+        return Closed;
+    case Internal::AbstractSshChannel::SessionEstablished:
+        return d->m_sftpState == Internal::SftpChannelPrivate::Initialized
+            ? Initialized : Initializing;
+    default:
+        Q_ASSERT(!"Oh no, we forgot to handle a channel state!");
+        return Closed; // For the compiler.
+    }
+}
+
+void SftpChannel::initialize()
+{
+    d->requestSessionStart();
+    d->m_sftpState = Internal::SftpChannelPrivate::SubsystemRequested;
+}
+
+void SftpChannel::closeChannel()
+{
+    d->closeChannel();
+}
+
+SftpJobId SftpChannel::listDirectory(const QString &path)
+{
+    return d->createJob(Internal::SftpListDir::Ptr(
+        new Internal::SftpListDir(++d->m_nextJobId, path)));
+}
+
+SftpJobId SftpChannel::createDirectory(const QString &path)
+{
+    return d->createJob(Internal::SftpMakeDir::Ptr(
+        new Internal::SftpMakeDir(++d->m_nextJobId, path)));
+}
+
+SftpJobId SftpChannel::removeDirectory(const QString &path)
+{
+    return d->createJob(Internal::SftpRmDir::Ptr(
+        new Internal::SftpRmDir(++d->m_nextJobId, path)));
+}
+
+SftpJobId SftpChannel::removeFile(const QString &path)
+{
+    return d->createJob(Internal::SftpRm::Ptr(
+        new Internal::SftpRm(++d->m_nextJobId, path)));
+}
+
+SftpJobId SftpChannel::renameFileOrDirectory(const QString &oldPath,
+    const QString &newPath)
+{
+    return d->createJob(Internal::SftpRename::Ptr(
+        new Internal::SftpRename(++d->m_nextJobId, oldPath, newPath)));
+}
+
+SftpJobId SftpChannel::createFile(const QString &path, SftpOverwriteMode mode)
+{
+    return d->createJob(Internal::SftpCreateFile::Ptr(
+        new Internal::SftpCreateFile(++d->m_nextJobId, path, mode)));
+}
+
+SftpJobId SftpChannel::uploadFile(const QString &localFilePath,
+    const QString &remoteFilePath, SftpOverwriteMode mode)
+{
+    QSharedPointer<QFile> localFile(new QFile(localFilePath));
+    if (!localFile->open(QIODevice::ReadOnly))
+        return SftpInvalidJob;
+    return d->createJob(Internal::SftpUpload::Ptr(
+        new Internal::SftpUpload(++d->m_nextJobId, remoteFilePath, localFile, mode)));
+}
+
+SftpJobId SftpChannel::downloadFile(const QString &remoteFilePath,
+    const QString &localFilePath, SftpOverwriteMode mode)
+{
+    QSharedPointer<QFile> localFile(new QFile(localFilePath));
+    if (mode == SftpSkipExisting && localFile->exists())
+        return SftpInvalidJob;
+    QIODevice::OpenMode openMode = QIODevice::WriteOnly;
+    if (mode == SftpOverwriteExisting)
+        openMode |= QIODevice::Truncate;
+    else if (mode == SftpAppendToExisting)
+        openMode |= QIODevice::Append;
+    if (!localFile->open(openMode))
+        return SftpInvalidJob;
+    return d->createJob(Internal::SftpDownload::Ptr(
+        new Internal::SftpDownload(++d->m_nextJobId, remoteFilePath, localFile)));
+}
+
+SftpChannel::~SftpChannel()
+{
+    delete d;
+}
+
+
+namespace Internal {
+
+SftpChannelPrivate::SftpChannelPrivate(quint32 channelId,
+    SshSendFacility &sendFacility, SftpChannel *sftp)
+    : AbstractSshChannel(channelId, sendFacility),
+      m_nextJobId(0), m_sftpState(Inactive), m_sftp(sftp)
+{
+}
+
+SftpJobId SftpChannelPrivate::createJob(const AbstractSftpOperation::Ptr &job)
+{
+   if (m_sftp->state() != SftpChannel::Initialized)
+       return SftpInvalidJob;
+   m_jobs.insert(job->jobId, job);
+   sendData(job->initialPacket(m_outgoingPacket).rawData());
+   return job->jobId;
+}
+
+void SftpChannelPrivate::handleChannelSuccess()
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("sftp subsystem initialized");
+#endif
+    sendData(m_outgoingPacket.generateInit(ProtocolVersion).rawData());
+    m_sftpState = InitSent;
+}
+
+void SftpChannelPrivate::handleChannelFailure()
+{
+    if (m_sftpState != SubsystemRequested) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_MSG_CHANNEL_FAILURE packet.");
+    }
+    createDelayedInitFailedSignal(SSH_TR("Server could not start sftp subsystem."));
+    closeChannel();
+}
+
+void SftpChannelPrivate::handleChannelDataInternal(const QByteArray &data)
+{
+    m_incomingData += data;
+    m_incomingPacket.consumeData(m_incomingData);
+    while (m_incomingPacket.isComplete()) {
+        handleCurrentPacket();
+        m_incomingPacket.clear();
+        m_incomingPacket.consumeData(m_incomingData);
+    }
+}
+
+void SftpChannelPrivate::handleChannelExtendedDataInternal(quint32 type,
+    const QByteArray &data)
+{
+    qWarning("Unexpected extended data '%s' of type %d on SFTP channel.",
+        data.data(), type);
+}
+
+void SftpChannelPrivate::handleCurrentPacket()
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Handling SFTP packet of type %d", m_incomingPacket.type());
+#endif
+    switch (m_incomingPacket.type()) {
+    case SSH_FXP_VERSION:
+        handleServerVersion();
+        break;
+    case SSH_FXP_HANDLE:
+        handleHandle();
+        break;
+    case SSH_FXP_NAME:
+        handleName();
+        break;
+    case SSH_FXP_STATUS:
+        handleStatus();
+        break;
+    case SSH_FXP_DATA:
+        handleReadData();
+        break;
+    case SSH_FXP_ATTRS:
+        handleAttrs();
+        break;
+    default:
+        throw SshServerException(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected packet.",
+            SSH_TR("Unexpected packet of type %d.").arg(m_incomingPacket.type()));
+    }
+}
+
+void SftpChannelPrivate::handleServerVersion()
+{
+    checkChannelActive();
+    if (m_sftpState != InitSent) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_VERSION packet.");
+    }
+
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("sftp init received");
+#endif
+    const quint32 serverVersion = m_incomingPacket.extractServerVersion();
+    if (serverVersion != ProtocolVersion) {
+        createDelayedInitFailedSignal(SSH_TR("Protocol version mismatch: Expected %1, got %2")
+            .arg(serverVersion).arg(ProtocolVersion));
+        closeChannel();
+    } else {
+        m_sftpState = Initialized;
+        createDelayedInitializedSignal();
+    }
+}
+
+void SftpChannelPrivate::handleHandle()
+{
+    const SftpHandleResponse &response = m_incomingPacket.asHandleResponse();
+    JobMap::Iterator it = lookupJob(response.requestId);
+    const QSharedPointer<AbstractSftpOperationWithHandle> job
+        = it.value().dynamicCast<AbstractSftpOperationWithHandle>();
+    if (job.isNull()) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_HANDLE packet.");
+    }
+    if (job->state != AbstractSftpOperationWithHandle::OpenRequested) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_HANDLE packet.");
+    }
+    job->remoteHandle = response.handle;
+    job->state = AbstractSftpOperationWithHandle::Open;
+
+    switch (it.value()->type()) {
+    case AbstractSftpOperation::ListDir:
+        handleLsHandle(it);
+        break;
+    case AbstractSftpOperation::CreateFile:
+        handleCreateFileHandle(it);
+        break;
+    case AbstractSftpOperation::Download:
+        handleGetHandle(it);
+        break;
+    case AbstractSftpOperation::Upload:
+        handlePutHandle(it);
+        break;
+    default:
+        Q_ASSERT(!"Oh no, I forgot to handle an SFTP operation type!");
+    }
+}
+
+void SftpChannelPrivate::handleLsHandle(const JobMap::Iterator &it)
+{
+    SftpListDir::Ptr op = it.value().staticCast<SftpListDir>();
+    sendData(m_outgoingPacket.generateReadDir(op->remoteHandle,
+        op->jobId).rawData());
+}
+
+void SftpChannelPrivate::handleCreateFileHandle(const JobMap::Iterator &it)
+{
+    SftpCreateFile::Ptr op = it.value().staticCast<SftpCreateFile>();
+    sendData(m_outgoingPacket.generateCloseHandle(op->remoteHandle,
+        op->jobId).rawData());
+}
+
+void SftpChannelPrivate::handleGetHandle(const JobMap::Iterator &it)
+{
+    SftpDownload::Ptr op = it.value().staticCast<SftpDownload>();
+    sendData(m_outgoingPacket.generateFstat(op->remoteHandle,
+        op->jobId).rawData());
+    op->statRequested = true;
+}
+
+void SftpChannelPrivate::handlePutHandle(const JobMap::Iterator &it)
+{
+    SftpUpload::Ptr op = it.value().staticCast<SftpUpload>();
+
+    // OpenSSH does not implement the RFC's append functionality, so we
+    // have to emulate it.
+    if (op->mode == SftpAppendToExisting) {
+        sendData(m_outgoingPacket.generateFstat(op->remoteHandle,
+            op->jobId).rawData());
+        op->statRequested = true;
+    } else {
+        spawnWriteRequests(it);
+    }
+}
+
+void SftpChannelPrivate::handleStatus()
+{
+    const SftpStatusResponse &response = m_incomingPacket.asStatusResponse();
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("%s: status = %d", Q_FUNC_INFO, response.status);
+#endif
+    JobMap::Iterator it = lookupJob(response.requestId);
+    switch (it.value()->type()) {
+    case AbstractSftpOperation::ListDir:
+        handleLsStatus(it, response);
+        break;
+    case AbstractSftpOperation::Download:
+        handleGetStatus(it, response);
+        break;
+    case AbstractSftpOperation::Upload:
+        handlePutStatus(it, response);
+        break;
+    case AbstractSftpOperation::MakeDir:
+    case AbstractSftpOperation::RmDir:
+    case AbstractSftpOperation::Rm:
+    case AbstractSftpOperation::Rename:
+    case AbstractSftpOperation::CreateFile:
+        handleStatusGeneric(it, response);
+        break;
+    }
+}
+
+void SftpChannelPrivate::handleStatusGeneric(const JobMap::Iterator &it,
+    const SftpStatusResponse &response)
+{
+    AbstractSftpOperation::Ptr op = it.value();
+    const QString error = errorMessage(response, SSH_TR("Unknown error."));
+    createDelayedJobFinishedSignal(op->jobId, error);
+    m_jobs.erase(it);
+}
+
+void SftpChannelPrivate::handleLsStatus(const JobMap::Iterator &it,
+    const SftpStatusResponse &response)
+{
+    SftpListDir::Ptr op = it.value().staticCast<SftpListDir>();
+    switch (op->state) {
+    case SftpListDir::OpenRequested:
+    createDelayedJobFinishedSignal(op->jobId, errorMessage(response.errorString,
+            SSH_TR("Remote directory could not be opened for reading.")));
+        m_jobs.erase(it);
+        break;
+    case SftpListDir::Open:
+        if (response.status != SSH_FX_EOF)
+            reportRequestError(op, errorMessage(response.errorString,
+                SSH_TR("Failed to list remote directory contents.")));
+        op->state = SftpListDir::CloseRequested;
+        sendData(m_outgoingPacket.generateCloseHandle(op->remoteHandle,
+            op->jobId).rawData());
+        break;
+    case SftpListDir::CloseRequested:
+        if (!op->hasError) {
+            const QString error = errorMessage(response,
+                SSH_TR("Failed to close remote directory."));
+            createDelayedJobFinishedSignal(op->jobId, error);
+        }
+        m_jobs.erase(it);
+        break;
+    default:
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_STATUS packet.");
+    }
+}
+
+void SftpChannelPrivate::handleGetStatus(const JobMap::Iterator &it,
+    const SftpStatusResponse &response)
+{
+    SftpDownload::Ptr op = it.value().staticCast<SftpDownload>();
+    switch (op->state) {
+    case SftpDownload::OpenRequested:
+        createDelayedJobFinishedSignal(op->jobId,
+            errorMessage(response.errorString,
+                SSH_TR("Failed to open remote file for reading.")));
+        m_jobs.erase(it);
+        break;
+    case SftpDownload::Open:
+        if (op->statRequested) {
+            reportRequestError(op, errorMessage(response.errorString,
+                SSH_TR("Failed to stat remote file.")));
+            sendTransferCloseHandle(op, response.requestId);
+        } else {
+            if ((response.status != SSH_FX_EOF || response.requestId != op->eofId)
+                && !op->hasError)
+                reportRequestError(op, errorMessage(response.errorString,
+                    SSH_TR("Failed to read remote file.")));
+            finishTransferRequest(it);
+        }
+        break;
+    case SftpDownload::CloseRequested:
+        Q_ASSERT(op->inFlightCount == 1);
+        if (!op->hasError) {
+            if (response.status == SSH_FX_OK)
+                createDelayedJobFinishedSignal(op->jobId);
+            else
+                reportRequestError(op, errorMessage(response.errorString,
+                    SSH_TR("Failed to close remote file.")));
+        }
+        removeTransferRequest(it);
+        break;
+    default:
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_STATUS packet.");
+    }
+}
+
+void SftpChannelPrivate::handlePutStatus(const JobMap::Iterator &it,
+    const SftpStatusResponse &response)
+{
+    SftpUpload::Ptr job = it.value().staticCast<SftpUpload>();
+    switch (job->state) {
+    case SftpUpload::OpenRequested:
+        createDelayedJobFinishedSignal(job->jobId,
+            errorMessage(response.errorString,
+                SSH_TR("Failed to open remote file for writing.")));
+        m_jobs.erase(it);
+        break;
+    case SftpUpload::Open:
+        if (response.status == SSH_FX_OK) {
+            sendWriteRequest(it);
+        } else if(!job->hasError) {
+            reportRequestError(job, errorMessage(response.errorString,
+                SSH_TR("Failed to write remote file.")));
+            finishTransferRequest(it);
+        }
+        break;
+    case SftpUpload::CloseRequested:
+        Q_ASSERT(job->inFlightCount == 1);
+        if (!job->hasError) {
+            const QString error = errorMessage(response,
+                SSH_TR("Failed to close remote file."));
+            createDelayedJobFinishedSignal(job->jobId, error);
+        }
+        m_jobs.erase(it);
+        break;
+    default:
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_STATUS packet.");
+    }
+}
+
+void SftpChannelPrivate::handleName()
+{
+    const SftpNameResponse &response = m_incomingPacket.asNameResponse();
+    JobMap::Iterator it = lookupJob(response.requestId);
+    switch (it.value()->type()) {
+    case AbstractSftpOperation::ListDir: {
+        SftpListDir::Ptr op = it.value().staticCast<SftpListDir>();
+        if (op->state != SftpListDir::Open) {
+            throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+                "Unexpected SSH_FXP_NAME packet.");
+        }
+
+        for (int i = 0; i < response.files.count(); ++i) {
+            const SftpFile &file = response.files.at(i);
+            createDelayedDataAvailableSignal(op->jobId, file.fileName);
+        }
+        sendData(m_outgoingPacket.generateReadDir(op->remoteHandle,
+            op->jobId).rawData());
+        break;
+    }
+    default:
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_NAME packet.");
+    }
+}
+
+void SftpChannelPrivate::handleReadData()
+{
+    const SftpDataResponse &response = m_incomingPacket.asDataResponse();
+    JobMap::Iterator it = lookupJob(response.requestId);
+    if (it.value()->type() != AbstractSftpOperation::Download) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_DATA packet.");
+    }
+
+    SftpDownload::Ptr op = it.value().staticCast<SftpDownload>();
+    if (op->hasError) {
+        finishTransferRequest(it);
+        return;
+    }
+
+    if (!op->localFile->seek(op->offsets[response.requestId])) {
+        reportRequestError(op, op->localFile->errorString());
+        finishTransferRequest(it);
+        return;
+    }
+
+    if (op->localFile->write(response.data) != response.data.size()) {
+        reportRequestError(op, op->localFile->errorString());
+        finishTransferRequest(it);
+        return;
+    }
+
+    if (op->offset >= op->fileSize && op->fileSize != 0)
+        finishTransferRequest(it);
+    else
+        sendReadRequest(op, response.requestId);
+}
+
+void SftpChannelPrivate::handleAttrs()
+{
+    const SftpAttrsResponse &response = m_incomingPacket.asAttrsResponse();
+    JobMap::Iterator it = lookupJob(response.requestId);
+    AbstractSftpTransfer::Ptr transfer
+        = it.value().dynamicCast<AbstractSftpTransfer>();
+    if (!transfer || transfer->state != AbstractSftpTransfer::Open
+        || !transfer->statRequested) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_FXP_ATTRS packet.");
+    }
+    Q_ASSERT(transfer->type() == AbstractSftpOperation::Upload
+        || transfer->type() == AbstractSftpOperation::Download);
+
+    if (transfer->type() == AbstractSftpOperation::Download) {
+        SftpDownload::Ptr op = transfer.staticCast<SftpDownload>();
+        if (response.attrs.sizePresent) {
+            op->fileSize = response.attrs.size;
+        } else {
+            op->fileSize = 0;
+            op->eofId = op->jobId;
+        }
+        op->statRequested = false;
+        spawnReadRequests(op);
+    } else {
+        SftpUpload::Ptr op = transfer.staticCast<SftpUpload>();
+        if (response.attrs.sizePresent) {
+            op->offset = response.attrs.size;
+            spawnWriteRequests(it);
+        } else {
+            reportRequestError(op, SSH_TR("Cannot append to remote file: "
+                "Server does not support file size attribute."));
+            sendTransferCloseHandle(op, op->jobId);
+        }
+    }
+}
+
+SftpChannelPrivate::JobMap::Iterator SftpChannelPrivate::lookupJob(SftpJobId id)
+{
+    JobMap::Iterator it = m_jobs.find(id);
+    if (it == m_jobs.end()) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid request id in SFTP packet.");
+    }
+    return it;
+}
+
+void SftpChannelPrivate::closeHook()
+{
+    createClosedSignal();
+}
+
+void SftpChannelPrivate::handleOpenSuccessInternal()
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("SFTP session started");
+#endif
+    m_sendFacility.sendSftpPacket(remoteChannel());
+    m_sftpState = SubsystemRequested;
+}
+
+void SftpChannelPrivate::handleOpenFailureInternal()
+{
+    if (channelState() != SessionRequested) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_MSG_CHANNEL_OPEN_FAILURE packet.");
+    }
+    createDelayedInitFailedSignal(SSH_TR("Server could not start session."));
+}
+
+void SftpChannelPrivate::sendReadRequest(const SftpDownload::Ptr &job,
+    quint32 requestId)
+{
+    Q_ASSERT(job->eofId == SftpInvalidJob);
+    sendData(m_outgoingPacket.generateReadFile(job->remoteHandle, job->offset,
+        AbstractSftpPacket::MaxDataSize, requestId).rawData());
+    job->offsets[requestId] = job->offset;
+    job->offset += AbstractSftpPacket::MaxDataSize;
+    if (job->offset >= job->fileSize)
+        job->eofId = requestId;
+}
+
+void SftpChannelPrivate::reportRequestError(const AbstractSftpOperationWithHandle::Ptr &job,
+    const QString &error)
+{
+    createDelayedJobFinishedSignal(job->jobId, error);
+    job->hasError = true;
+}
+
+void SftpChannelPrivate::finishTransferRequest(const JobMap::Iterator &it)
+{
+    AbstractSftpTransfer::Ptr job = it.value().staticCast<AbstractSftpTransfer>();
+    if (job->inFlightCount == 1)
+        sendTransferCloseHandle(job, it.key());
+    else
+        removeTransferRequest(it);
+}
+
+void SftpChannelPrivate::sendTransferCloseHandle(const AbstractSftpTransfer::Ptr &job,
+    quint32 requestId)
+{
+    sendData(m_outgoingPacket.generateCloseHandle(job->remoteHandle,
+       requestId).rawData());
+    job->state = SftpDownload::CloseRequested;
+}
+
+void SftpChannelPrivate::removeTransferRequest(const JobMap::Iterator &it)
+{
+    --it.value().staticCast<AbstractSftpTransfer>()->inFlightCount;
+    m_jobs.erase(it);
+}
+
+void SftpChannelPrivate::sendWriteRequest(const JobMap::Iterator &it)
+{
+    SftpUpload::Ptr job = it.value().staticCast<SftpUpload>();
+    QByteArray data = job->localFile->read(AbstractSftpPacket::MaxDataSize);
+    if (job->localFile->error() != QFile::NoError) {
+        if (!job->hasError) {
+            reportRequestError(job, SSH_TR("Error reading local file: %1")
+                .arg(job->localFile->errorString()));
+        }
+        finishTransferRequest(it);
+    } else if (data.isEmpty()) {
+        finishTransferRequest(it);
+    } else {
+        sendData(m_outgoingPacket.generateWriteFile(job->remoteHandle,
+            job->offset, data, it.key()).rawData());
+        job->offset += AbstractSftpPacket::MaxDataSize;
+    }
+}
+
+void SftpChannelPrivate::spawnWriteRequests(const JobMap::Iterator &it)
+{
+    SftpUpload::Ptr op = it.value().staticCast<SftpUpload>();
+    op->calculateInFlightCount(AbstractSftpPacket::MaxDataSize);
+    sendWriteRequest(it);
+    for (int i = 1; i < op->inFlightCount; ++i)
+        sendWriteRequest(m_jobs.insert(++m_nextJobId, op));
+}
+
+void SftpChannelPrivate::spawnReadRequests(const SftpDownload::Ptr &job)
+{
+    job->calculateInFlightCount(AbstractSftpPacket::MaxDataSize);
+    sendReadRequest(job, job->jobId);
+    for (int i = 1; i < job->inFlightCount; ++i) {
+        const quint32 requestId = ++m_nextJobId;
+        m_jobs.insert(requestId, job);
+        sendReadRequest(job, requestId);
+    }
+}
+
+void SftpChannelPrivate::createDelayedInitFailedSignal(const QString &reason)
+{
+    new SftpInitializationFailedSignal(this, QWeakPointer<SftpChannel>(m_sftp),
+        reason);
+}
+
+void SftpChannelPrivate::emitInitializationFailedSignal(const QString &reason)
+{
+    emit m_sftp->initializationFailed(reason);
+}
+
+void SftpChannelPrivate::createDelayedInitializedSignal()
+{
+    new SftpInitializedSignal(this, QWeakPointer<SftpChannel>(m_sftp));
+}
+
+void SftpChannelPrivate::emitInitialized()
+{
+    emit m_sftp->initialized();
+}
+
+void SftpChannelPrivate::createDelayedJobFinishedSignal(SftpJobId jobId,
+    const QString &error)
+{
+    new SftpJobFinishedSignal(this, QWeakPointer<SftpChannel>(m_sftp), jobId, error);
+}
+
+void SftpChannelPrivate::emitJobFinished(SftpJobId jobId, const QString &error)
+{
+    emit m_sftp->finished(jobId, error);
+}
+
+void SftpChannelPrivate::createDelayedDataAvailableSignal(SftpJobId jobId,
+    const QString &data)
+{
+    new SftpDataAvailableSignal(this, QWeakPointer<SftpChannel>(m_sftp), jobId, data);
+}
+
+void SftpChannelPrivate::emitDataAvailable(SftpJobId jobId, const QString &data)
+{
+    emit m_sftp->dataAvailable(jobId, data);
+}
+
+void SftpChannelPrivate::createClosedSignal()
+{
+    new SftpClosedSignal(this, QWeakPointer<SftpChannel>(m_sftp));
+}
+
+void SftpChannelPrivate::emitClosed()
+{
+    emit m_sftp->closed();
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sftpchannel.h b/src/plugins/coreplugin/ssh/sftpchannel.h
new file mode 100644
index 00000000000..6b4ffea7e50
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpchannel.h
@@ -0,0 +1,120 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTCHANNEL_H
+#define SFTCHANNEL_H
+
+#include "sftpdefs.h"
+#include "sftpincomingpacket_p.h"
+
+#include <coreplugin/core_global.h>
+
+#include <QtCore/QByteArray>
+#include <QtCore/QObject>
+#include <QtCore/QSharedPointer>
+#include <QtCore/QString>
+
+namespace Core {
+
+namespace Internal {
+class SftpChannelPrivate;
+class SshChannelManager;
+class SshSendFacility;
+} // namespace Internal
+
+/*
+ * This class provides SFTP operations.
+ * Objects are created via SshConnection::createSftpChannel().
+ * The channel needs to be initialized with
+ * a call to initialize() and is closed via closeChannel(). After closing
+ * a channel, no more operations are possible. It cannot be re-opened
+ * using initialize(); use SshConnection::createSftpChannel() if you need
+ * a new one.
+ * After the initialized() signal has been emitted, operations can be started.
+ * All SFTP operations are asynchronous (non-blocking) and can be in-flight
+ * simultaneously (though callers must ensure that concurrently running jobs
+ * are independent of each other, e.g. they must not write to the same file).
+ * Operations are identified by their job id, which is returned by
+ * the respective member function. If the function can right away detect that
+ * the operation cannot succeed, it returns SftpInvalidJob. If an error occurs
+ * later, the finishedWithError() signal is emitted for the respective job.
+ * Note that directory names must not have a trailing slash.
+ */
+class CORE_EXPORT SftpChannel : public QObject
+{
+    Q_OBJECT
+
+    friend class Internal::SftpChannelPrivate;
+    friend class Internal::SshChannelManager;
+public:
+    typedef QSharedPointer<SftpChannel> Ptr;
+
+    enum State { Uninitialized, Initializing, Initialized, Closing, Closed };
+    State state() const;
+
+    void initialize();
+    void closeChannel();
+
+    SftpJobId listDirectory(const QString &dirPath);
+    SftpJobId createDirectory(const QString &dirPath);
+    SftpJobId removeDirectory(const QString &dirPath);
+    SftpJobId removeFile(const QString &filePath);
+    SftpJobId renameFileOrDirectory(const QString &oldPath,
+        const QString &newPath);
+    SftpJobId createFile(const QString &filePath, SftpOverwriteMode mode);
+    SftpJobId uploadFile(const QString &localFilePath,
+        const QString &remoteFilePath, SftpOverwriteMode mode);
+    SftpJobId downloadFile(const QString &remoteFilePath,
+        const QString &localFilePath, SftpOverwriteMode mode);
+
+    ~SftpChannel();
+
+signals:
+    void initialized();
+    void initializationFailed(const QString &reason);
+    void closed();
+
+    // error.isEmpty <=> finished successfully
+    void finished(Core::SftpJobId job, const QString &error = QString());
+
+    /*
+     * This signal is only emitted by the "List Directory" operation,
+     * one file at a time.
+     */
+    void dataAvailable(SftpJobId job, const QString &data);
+
+private:
+    SftpChannel(quint32 channelId, Internal::SshSendFacility &sendFacility);
+
+    Internal::SftpChannelPrivate *d;
+};
+
+} // namespace Core
+
+#endif // SFTPCHANNEL_H
diff --git a/src/plugins/coreplugin/ssh/sftpchannel_p.h b/src/plugins/coreplugin/ssh/sftpchannel_p.h
new file mode 100644
index 00000000000..8d27a2c01dc
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpchannel_p.h
@@ -0,0 +1,130 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTCHANNEL_P_H
+#define SFTCHANNEL_P_H
+
+#include "sftpdefs.h"
+#include "sftpincomingpacket_p.h"
+#include "sftpoperation_p.h"
+#include "sftpoutgoingpacket_p.h"
+#include "sshchannel_p.h"
+
+#include <QtCore/QByteArray>
+#include <QtCore/QMap>
+
+namespace Core {
+class SftpChannel;
+namespace Internal {
+
+class SftpChannelPrivate : public AbstractSshChannel
+{
+    friend class Core::SftpChannel;
+public:
+
+    enum SftpState { Inactive, SubsystemRequested, InitSent, Initialized };
+
+    virtual void handleChannelSuccess();
+    virtual void handleChannelFailure();
+
+    virtual void closeHook();
+
+    void emitInitializationFailedSignal(const QString &reason);
+    void emitInitialized();
+    void emitJobFinished(SftpJobId jobId, const QString &error);
+    void emitDataAvailable(SftpJobId jobId, const QString &data);
+    void emitClosed();
+
+private:
+    typedef QMap<SftpJobId, AbstractSftpOperation::Ptr> JobMap;
+
+    SftpChannelPrivate(quint32 channelId, SshSendFacility &sendFacility,
+        SftpChannel *sftp);
+    SftpJobId createJob(const AbstractSftpOperation::Ptr &job);
+
+    virtual void handleOpenSuccessInternal();
+    virtual void handleOpenFailureInternal();
+    virtual void handleChannelDataInternal(const QByteArray &data);
+    virtual void handleChannelExtendedDataInternal(quint32 type,
+        const QByteArray &data);
+
+    void handleCurrentPacket();
+    void handleServerVersion();
+    void handleHandle();
+    void handleStatus();
+    void handleName();
+    void handleReadData();
+    void handleAttrs();
+
+    void handleStatusGeneric(const JobMap::Iterator &it,
+        const SftpStatusResponse &response);
+    void handleLsStatus(const JobMap::Iterator &it,
+        const SftpStatusResponse &response);
+    void handleGetStatus(const JobMap::Iterator &it,
+        const SftpStatusResponse &response);
+    void handlePutStatus(const JobMap::Iterator &it,
+        const SftpStatusResponse &response);
+
+    void handleLsHandle(const JobMap::Iterator &it);
+    void handleCreateFileHandle(const JobMap::Iterator &it);
+    void handleGetHandle(const JobMap::Iterator &it);
+    void handlePutHandle(const JobMap::Iterator &it);
+
+    void spawnReadRequests(const SftpDownload::Ptr &job);
+    void spawnWriteRequests(const JobMap::Iterator &it);
+    void sendReadRequest(const SftpDownload::Ptr &job, quint32 requestId);
+    void sendWriteRequest(const JobMap::Iterator &it);
+    void finishTransferRequest(const JobMap::Iterator &it);
+    void removeTransferRequest(const JobMap::Iterator &it);
+    void reportRequestError(const AbstractSftpOperationWithHandle::Ptr &job,
+        const QString &error);
+    void sendTransferCloseHandle(const AbstractSftpTransfer::Ptr &job,
+        quint32 requestId);
+
+    void createDelayedInitFailedSignal(const QString &reason);
+    void createDelayedInitializedSignal();
+    void createDelayedJobFinishedSignal(SftpJobId jobId,
+        const QString &error = QString());
+    void createDelayedDataAvailableSignal(SftpJobId jobId, const QString &data);
+    void createClosedSignal();
+
+    JobMap::Iterator lookupJob(SftpJobId id);
+    JobMap m_jobs;
+    SftpOutgoingPacket m_outgoingPacket;
+    SftpIncomingPacket m_incomingPacket;
+    QByteArray m_incomingData;
+    SftpJobId m_nextJobId;
+    SftpState m_sftpState;
+    SftpChannel *m_sftp;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SFTPCHANNEL_P_H
diff --git a/src/plugins/coreplugin/ssh/sftpdefs.cpp b/src/plugins/coreplugin/ssh/sftpdefs.cpp
new file mode 100644
index 00000000000..6a2f6de45e1
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpdefs.cpp
@@ -0,0 +1,32 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sftpdefs.h"
+
+namespace Core { const SftpJobId SftpInvalidJob = 0; }
diff --git a/src/plugins/coreplugin/ssh/sftpdefs.h b/src/plugins/coreplugin/ssh/sftpdefs.h
new file mode 100644
index 00000000000..5f59582a055
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpdefs.h
@@ -0,0 +1,48 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTPDEFS_H
+#define SFTPDEFS_H
+
+#include <coreplugin/core_global.h>
+
+#include <QtCore/QtGlobal>
+
+namespace Core {
+
+typedef quint32 SftpJobId;
+CORE_EXPORT extern const SftpJobId SftpInvalidJob;
+
+enum SftpOverwriteMode {
+    SftpOverwriteExisting, SftpAppendToExisting, SftpSkipExisting
+};
+
+} // namespace Core
+
+#endif // SFTPDEFS_H
diff --git a/src/plugins/coreplugin/ssh/sftpincomingpacket.cpp b/src/plugins/coreplugin/ssh/sftpincomingpacket.cpp
new file mode 100644
index 00000000000..804bdb21d5c
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpincomingpacket.cpp
@@ -0,0 +1,230 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sftpincomingpacket_p.h"
+
+#include "sshexception_p.h"
+#include "sshpacketparser_p.h"
+
+namespace Core {
+namespace Internal {
+
+namespace {
+    const int SSH_FILEXFER_ATTR_SIZE = 0x00000001;
+    const int SSH_FILEXFER_ATTR_UIDGID = 0x00000002;
+    const int SSH_FILEXFER_ATTR_PERMISSIONS = 0x00000004;
+    const int SSH_FILEXFER_ATTR_ACMODTIME = 0x00000008;
+    const int SSH_FILEXFER_ATTR_EXTENDED = 0x80000000;
+} // anonymous namespace
+
+SftpIncomingPacket::SftpIncomingPacket() : m_length(0)
+{
+}
+
+void SftpIncomingPacket::consumeData(QByteArray &newData)
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("%s: current data size = %d, new data size = %d", Q_FUNC_INFO,
+        m_data.size(), newData.size());
+#endif
+
+    if (isComplete() || dataSize() + newData.size() < sizeof m_length)
+        return;
+
+    if (dataSize() < sizeof m_length) {
+        moveFirstBytes(m_data, newData, sizeof m_length - m_data.size());
+        m_length = SshPacketParser::asUint32(m_data, static_cast<quint32>(0));
+        if (m_length < static_cast<quint32>(TypeOffset + 1)
+            || m_length > MaxPacketSize) {
+            throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+                "Invalid length field in SFTP packet.");
+        }
+    }
+
+    moveFirstBytes(m_data, newData,
+        qMin<quint32>(m_length - dataSize() + 4, newData.size()));
+}
+
+void SftpIncomingPacket::moveFirstBytes(QByteArray &target, QByteArray &source,
+    int n)
+{
+    target.append(source.left(n));
+    source.remove(0, n);
+}
+
+bool SftpIncomingPacket::isComplete() const
+{
+    return m_length == dataSize() - 4;
+}
+
+void SftpIncomingPacket::clear()
+{
+    m_data.clear();
+    m_length = 0;
+}
+
+quint32 SftpIncomingPacket::extractServerVersion() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_FXP_VERSION);
+    try {
+        return SshPacketParser::asUint32(m_data, TypeOffset + 1);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_FXP_VERSION packet.");
+    }
+}
+
+SftpHandleResponse SftpIncomingPacket::asHandleResponse() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_FXP_HANDLE);
+    try {
+        SftpHandleResponse response;
+        quint32 offset = RequestIdOffset;
+        response.requestId = SshPacketParser::asUint32(m_data, &offset);
+        response.handle = SshPacketParser::asString(m_data, &offset);
+        return response;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_FXP_HANDLE packet");
+    }
+}
+
+SftpStatusResponse SftpIncomingPacket::asStatusResponse() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_FXP_STATUS);
+    try {
+        SftpStatusResponse response;
+        quint32 offset = RequestIdOffset;
+        response.requestId = SshPacketParser::asUint32(m_data, &offset);
+        response.status = static_cast<SftpStatusCode>(SshPacketParser::asUint32(m_data, &offset));
+        response.errorString = SshPacketParser::asUserString(m_data, &offset);
+        response.language = SshPacketParser::asString(m_data, &offset);
+        return response;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_FXP_STATUS packet.");
+    }
+}
+
+SftpNameResponse SftpIncomingPacket::asNameResponse() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_FXP_NAME);
+    try {
+        SftpNameResponse response;
+        quint32 offset = RequestIdOffset;
+        response.requestId = SshPacketParser::asUint32(m_data, &offset);
+        const quint32 count = SshPacketParser::asUint32(m_data, &offset);
+        for (quint32 i = 0; i < count; ++i)
+            response.files << asFile(offset);
+        return response;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_FXP_NAME packet.");
+    }
+}
+
+SftpDataResponse SftpIncomingPacket::asDataResponse() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_FXP_DATA);
+    try {
+        SftpDataResponse response;
+        quint32 offset = RequestIdOffset;
+        response.requestId = SshPacketParser::asUint32(m_data, &offset);
+        response.data = SshPacketParser::asString(m_data, &offset);
+        return response;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_FXP_DATA packet.");
+    }
+}
+
+SftpAttrsResponse SftpIncomingPacket::asAttrsResponse() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_FXP_ATTRS);
+    try {
+        SftpAttrsResponse response;
+        quint32 offset = RequestIdOffset;
+        response.requestId = SshPacketParser::asUint32(m_data, &offset);
+        response.attrs = asFileAttributes(offset);
+        return response;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_FXP_ATTRS packet.");
+    }
+}
+
+SftpFile SftpIncomingPacket::asFile(quint32 &offset) const
+{
+    SftpFile file;
+    file.fileName
+        = QString::fromUtf8(SshPacketParser::asString(m_data, &offset));
+    file.longName
+        = QString::fromUtf8(SshPacketParser::asString(m_data, &offset));
+    file.attributes = asFileAttributes(offset);
+    return file;
+}
+
+SftpFileAttributes SftpIncomingPacket::asFileAttributes(quint32 &offset) const
+{
+    SftpFileAttributes attributes;
+    const quint32 flags = SshPacketParser::asUint32(m_data, &offset);
+    attributes.sizePresent = flags & SSH_FILEXFER_ATTR_SIZE;
+    attributes.timesPresent = flags & SSH_FILEXFER_ATTR_ACMODTIME;
+    attributes.uidAndGidPresent = flags & SSH_FILEXFER_ATTR_UIDGID;
+    attributes.permissionsPresent = flags & SSH_FILEXFER_ATTR_PERMISSIONS;
+    if (attributes.sizePresent)
+        attributes.size = SshPacketParser::asUint64(m_data, &offset);
+    if (attributes.uidAndGidPresent) {
+        attributes.uid = SshPacketParser::asUint32(m_data, &offset);
+        attributes.gid = SshPacketParser::asUint32(m_data, &offset);
+    }
+    if (attributes.permissionsPresent)
+        attributes.permissions = SshPacketParser::asUint32(m_data, &offset);
+    if (attributes.timesPresent) {
+        attributes.atime = SshPacketParser::asUint32(m_data, &offset);
+        attributes.mtime = SshPacketParser::asUint32(m_data, &offset);
+    }
+    if (flags & SSH_FILEXFER_ATTR_EXTENDED) {
+        const quint32 count = SshPacketParser::asUint32(m_data, &offset);
+        for (quint32 i = 0; i < count; ++i) {
+            SshPacketParser::asString(m_data, &offset);
+            SshPacketParser::asString(m_data, &offset);
+        }
+    }
+    return attributes;
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sftpincomingpacket_p.h b/src/plugins/coreplugin/ssh/sftpincomingpacket_p.h
new file mode 100644
index 00000000000..5a5b8d42fed
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpincomingpacket_p.h
@@ -0,0 +1,111 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTPINCOMINGPACKET_P_H
+#define SFTPINCOMINGPACKET_P_H
+
+#include "sftppacket_p.h"
+
+namespace Core {
+namespace Internal {
+
+struct SftpHandleResponse {
+    quint32 requestId;
+    QByteArray handle;
+};
+
+struct SftpStatusResponse {
+    quint32 requestId;
+    SftpStatusCode status;
+    QString errorString;
+    QByteArray language;
+};
+
+struct SftpFileAttributes {
+    bool sizePresent;
+    bool timesPresent;
+    bool uidAndGidPresent;
+    bool permissionsPresent;
+    quint64 size;
+    quint32 uid;
+    quint32 gid;
+    quint32 permissions;
+    quint32 atime;
+    quint32 mtime;
+};
+
+struct SftpFile {
+    QString fileName;
+    QString longName; // Not present in later RFCs, so we don't expose this to the user.
+    SftpFileAttributes attributes;
+};
+
+struct SftpNameResponse {
+    quint32 requestId;
+    QList<SftpFile> files;
+};
+
+struct SftpDataResponse {
+    quint32 requestId;
+    QByteArray data;
+};
+
+struct SftpAttrsResponse {
+    quint32 requestId;
+    SftpFileAttributes attrs;
+};
+
+class SftpIncomingPacket : public AbstractSftpPacket
+{
+public:
+    SftpIncomingPacket();
+
+    void consumeData(QByteArray &data);
+    void clear();
+    bool isComplete() const;
+    quint32 extractServerVersion() const;
+    SftpHandleResponse asHandleResponse() const;
+    SftpStatusResponse asStatusResponse() const;
+    SftpNameResponse asNameResponse() const;
+    SftpDataResponse asDataResponse() const;
+    SftpAttrsResponse asAttrsResponse() const;
+
+private:
+    void moveFirstBytes(QByteArray &target, QByteArray &source, int n);
+
+    SftpFileAttributes asFileAttributes(quint32 &offset) const;
+    SftpFile asFile(quint32 &offset) const;
+
+    quint32 m_length;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SFTPINCOMINGPACKET_P_H
diff --git a/src/plugins/coreplugin/ssh/sftpoperation.cpp b/src/plugins/coreplugin/ssh/sftpoperation.cpp
new file mode 100644
index 00000000000..8acb126db1f
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpoperation.cpp
@@ -0,0 +1,176 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sftpoperation_p.h"
+
+#include "sftpoutgoingpacket_p.h"
+
+#include <QtCore/QTime>
+#include <QtCore/QFile>
+
+namespace Core {
+namespace Internal {
+
+AbstractSftpOperation::AbstractSftpOperation(SftpJobId jobId) : jobId(jobId)
+{
+}
+
+AbstractSftpOperation::~AbstractSftpOperation() { }
+
+
+SftpMakeDir::SftpMakeDir(SftpJobId jobId, const QString &path)
+    : AbstractSftpOperation(jobId), remoteDir(path)
+{
+}
+
+SftpOutgoingPacket &SftpMakeDir::initialPacket(SftpOutgoingPacket &packet)
+{
+    return packet.generateMkDir(remoteDir, jobId);
+}
+
+
+SftpRmDir::SftpRmDir(SftpJobId, const QString &path)
+    : AbstractSftpOperation(jobId), remoteDir(path)
+{
+}
+
+SftpOutgoingPacket &SftpRmDir::initialPacket(SftpOutgoingPacket &packet)
+{
+    return packet.generateRmDir(remoteDir, jobId);
+}
+
+
+SftpRm::SftpRm(SftpJobId jobId, const QString &path)
+    : AbstractSftpOperation(jobId), remoteFile(path) {}
+
+SftpOutgoingPacket &SftpRm::initialPacket(SftpOutgoingPacket &packet)
+{
+    return packet.generateRm(remoteFile, jobId);
+}
+
+
+SftpRename::SftpRename(SftpJobId jobId, const QString &oldPath,
+    const QString &newPath)
+    : AbstractSftpOperation(jobId), oldPath(oldPath), newPath(newPath)
+{
+}
+
+SftpOutgoingPacket &SftpRename::initialPacket(SftpOutgoingPacket &packet)
+{
+    return packet.generateRename(oldPath, newPath, jobId);
+}
+
+
+AbstractSftpOperationWithHandle::AbstractSftpOperationWithHandle(SftpJobId jobId,
+    const QString &remotePath)
+    : AbstractSftpOperation(jobId),
+      remotePath(remotePath), state(Inactive), hasError(false)
+{
+}
+
+AbstractSftpOperationWithHandle::~AbstractSftpOperationWithHandle() { }
+
+
+SftpListDir::SftpListDir(SftpJobId jobId, const QString &path)
+    : AbstractSftpOperationWithHandle(jobId, path)
+{
+}
+
+SftpOutgoingPacket &SftpListDir::initialPacket(SftpOutgoingPacket &packet)
+{
+    state = OpenRequested;
+    return packet.generateOpenDir(remotePath, jobId);
+}
+
+
+SftpCreateFile::SftpCreateFile(SftpJobId jobId, const QString &path,
+    SftpOverwriteMode mode)
+    : AbstractSftpOperationWithHandle(jobId, path), mode(mode)
+{
+}
+
+SftpOutgoingPacket & SftpCreateFile::initialPacket(SftpOutgoingPacket &packet)
+{
+    state = OpenRequested;
+    return packet.generateOpenFileForWriting(remotePath, mode, jobId);
+}
+
+
+const int AbstractSftpTransfer::MaxInFlightCount = 10; // Experimentally found to be enough.
+
+AbstractSftpTransfer::AbstractSftpTransfer(SftpJobId jobId, const QString &remotePath,
+    const QSharedPointer<QFile> &localFile)
+    : AbstractSftpOperationWithHandle(jobId, remotePath),
+      localFile(localFile), fileSize(0), offset(0), inFlightCount(0),
+      statRequested(false)
+{
+}
+
+void AbstractSftpTransfer::calculateInFlightCount(quint32 chunkSize)
+{
+    if (fileSize == 0) {
+        inFlightCount = 1;
+    } else {
+        inFlightCount = fileSize / chunkSize;
+        if (fileSize % chunkSize)
+            ++inFlightCount;
+        if (inFlightCount > MaxInFlightCount)
+            inFlightCount = MaxInFlightCount;
+    }
+}
+
+
+SftpDownload::SftpDownload(SftpJobId jobId, const QString &remotePath,
+    const QSharedPointer<QFile> &localFile)
+    : AbstractSftpTransfer(jobId, remotePath, localFile), eofId(SftpInvalidJob)
+{
+}
+
+SftpOutgoingPacket &SftpDownload::initialPacket(SftpOutgoingPacket &packet)
+{
+    state = OpenRequested;
+    return packet.generateOpenFileForReading(remotePath, jobId);
+}
+
+
+SftpUpload::SftpUpload(SftpJobId jobId, const QString &remotePath,
+    const QSharedPointer<QFile> &localFile, SftpOverwriteMode mode)
+    : AbstractSftpTransfer(jobId, remotePath, localFile), mode(mode)
+{
+    fileSize = localFile->size();
+}
+
+SftpOutgoingPacket &SftpUpload::initialPacket(SftpOutgoingPacket &packet)
+{
+    state = OpenRequested;
+    return packet.generateOpenFileForWriting(remotePath, mode, jobId);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sftpoperation_p.h b/src/plugins/coreplugin/ssh/sftpoperation_p.h
new file mode 100644
index 00000000000..65987813322
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpoperation_p.h
@@ -0,0 +1,193 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTPOPERATION_P_H
+#define SFTPOPERATION_P_H
+
+#include "sftpdefs.h"
+
+#include <QtCore/QByteArray>
+#include <QtCore/QMap>
+#include <QtCore/QSharedPointer>
+
+QT_BEGIN_NAMESPACE
+class QFile;
+QT_END_NAMESPACE
+
+namespace Core {
+namespace Internal {
+
+class SftpOutgoingPacket;
+
+struct AbstractSftpOperation
+{
+    typedef QSharedPointer<AbstractSftpOperation> Ptr;
+    enum Type {
+        ListDir, MakeDir, RmDir, Rm, Rename, CreateFile, Download, Upload
+    };
+
+    AbstractSftpOperation(SftpJobId jobId);
+    virtual ~AbstractSftpOperation();
+    virtual Type type() const=0;
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet)=0;
+
+    const SftpJobId jobId;
+
+private:
+    AbstractSftpOperation(const AbstractSftpOperation &);
+    AbstractSftpOperation &operator=(const AbstractSftpOperation &);
+};
+
+struct SftpMakeDir : public AbstractSftpOperation
+{
+    typedef QSharedPointer<SftpMakeDir> Ptr;
+
+    SftpMakeDir(SftpJobId jobId, const QString &path);
+    virtual Type type() const { return MakeDir; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    const QString remoteDir;
+};
+
+struct SftpRmDir : public AbstractSftpOperation
+{
+    typedef QSharedPointer<SftpRmDir> Ptr;
+
+    SftpRmDir(SftpJobId jobId, const QString &path);
+    virtual Type type() const { return RmDir; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    const QString remoteDir;
+};
+
+struct SftpRm : public AbstractSftpOperation
+{
+    typedef QSharedPointer<SftpRm> Ptr;
+
+    SftpRm(SftpJobId jobId, const QString &path);
+    virtual Type type() const { return Rm; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    const QString remoteFile;
+};
+
+struct SftpRename : public AbstractSftpOperation
+{
+    typedef QSharedPointer<SftpRename> Ptr;
+
+    SftpRename(SftpJobId jobId, const QString &oldPath, const QString &newPath);
+    virtual Type type() const { return Rename; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    const QString oldPath;
+    const QString newPath;
+};
+
+
+struct AbstractSftpOperationWithHandle : public AbstractSftpOperation
+{
+    typedef QSharedPointer<AbstractSftpOperationWithHandle> Ptr;
+    enum State { Inactive, OpenRequested, Open, CloseRequested };
+
+    AbstractSftpOperationWithHandle(SftpJobId jobId, const QString &remotePath);
+    ~AbstractSftpOperationWithHandle();
+
+    const QString remotePath;
+    QByteArray remoteHandle;
+    State state;
+    bool hasError;
+};
+
+
+struct SftpListDir : public AbstractSftpOperationWithHandle
+{
+    typedef QSharedPointer<SftpListDir> Ptr;
+
+    SftpListDir(SftpJobId jobId, const QString &path);
+    virtual Type type() const { return ListDir; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+};
+
+
+struct SftpCreateFile : public AbstractSftpOperationWithHandle
+{
+    typedef QSharedPointer<SftpCreateFile> Ptr;
+
+    SftpCreateFile(SftpJobId jobId, const QString &path, SftpOverwriteMode mode);
+    virtual Type type() const { return CreateFile; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    const SftpOverwriteMode mode;
+};
+
+struct AbstractSftpTransfer : public AbstractSftpOperationWithHandle
+{
+    typedef QSharedPointer<AbstractSftpTransfer> Ptr;
+
+    AbstractSftpTransfer(SftpJobId jobId, const QString &remotePath,
+        const QSharedPointer<QFile> &localFile);
+    void calculateInFlightCount(quint32 chunkSize);
+
+    static const int MaxInFlightCount;
+
+    const QSharedPointer<QFile> localFile;
+    quint64 fileSize;
+    quint64 offset;
+    int inFlightCount;
+    bool statRequested;
+};
+
+struct SftpDownload : public AbstractSftpTransfer
+{
+    typedef QSharedPointer<SftpDownload> Ptr;
+    SftpDownload(SftpJobId jobId, const QString &remotePath,
+        const QSharedPointer<QFile> &localFile);
+    virtual Type type() const { return Download; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    QMap<quint32, quint32> offsets;
+    SftpJobId eofId;
+};
+
+struct SftpUpload : public AbstractSftpTransfer
+{
+    typedef QSharedPointer<SftpUpload> Ptr;
+
+    SftpUpload(SftpJobId jobId, const QString &remotePath,
+        const QSharedPointer<QFile> &localFile, SftpOverwriteMode mode);
+    virtual Type type() const { return Upload; }
+    virtual SftpOutgoingPacket &initialPacket(SftpOutgoingPacket &packet);
+
+    SftpOverwriteMode mode;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SFTPOPERATION_P_H
diff --git a/src/plugins/coreplugin/ssh/sftpoutgoingpacket.cpp b/src/plugins/coreplugin/ssh/sftpoutgoingpacket.cpp
new file mode 100644
index 00000000000..57fd85467e0
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpoutgoingpacket.cpp
@@ -0,0 +1,202 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sftpoutgoingpacket_p.h"
+
+#include "sshpacket_p.h"
+
+#include <QtCore/QtEndian>
+
+namespace Core {
+namespace Internal {
+
+namespace {
+    const quint32 DefaultAttributes = 0;
+    const quint32 SSH_FXF_READ = 0x00000001;
+    const quint32 SSH_FXF_WRITE = 0x00000002;
+    const quint32 SSH_FXF_APPEND = 0x00000004;
+    const quint32 SSH_FXF_CREAT = 0x00000008;
+    const quint32 SSH_FXF_TRUNC = 0x00000010;
+    const quint32 SSH_FXF_EXCL = 0x00000020;
+}
+
+SftpOutgoingPacket::SftpOutgoingPacket()
+{
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateInit(quint32 version)
+{
+    return init(SSH_FXP_INIT, 0).appendInt(version).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateOpenDir(const QString &path,
+    quint32 requestId)
+{
+    return init(SSH_FXP_OPENDIR, requestId).appendString(path).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateReadDir(const QByteArray &handle,
+    quint32 requestId)
+{
+    return init(SSH_FXP_READDIR, requestId).appendString(handle).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateCloseHandle(const QByteArray &handle,
+    quint32 requestId)
+{
+    return init(SSH_FXP_CLOSE, requestId).appendString(handle).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateMkDir(const QString &path,
+    quint32 requestId)
+{
+    return init(SSH_FXP_MKDIR, requestId).appendString(path)
+        .appendInt(DefaultAttributes).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateRmDir(const QString &path,
+    quint32 requestId)
+{
+    return init(SSH_FXP_RMDIR, requestId).appendString(path).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateRm(const QString &path,
+    quint32 requestId)
+{
+    return init(SSH_FXP_REMOVE, requestId).appendString(path).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateRename(const QString &oldPath,
+    const QString &newPath, quint32 requestId)
+{
+    return init(SSH_FXP_RENAME, requestId).appendString(oldPath)
+        .appendString(newPath).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateOpenFileForWriting(const QString &path,
+    SftpOverwriteMode mode, quint32 requestId)
+{
+    return generateOpenFile(path, Write, mode, requestId);
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateOpenFileForReading(const QString &path,
+    quint32 requestId)
+{
+    // Note: Overwrite mode is irrelevant and will be ignored.
+    return generateOpenFile(path, Read, SftpSkipExisting, requestId);
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateReadFile(const QByteArray &handle,
+    quint64 offset, quint32 length, quint32 requestId)
+{
+    return init(SSH_FXP_READ, requestId).appendString(handle).appendInt64(offset)
+        .appendInt(length).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateFstat(const QByteArray &handle,
+    quint32 requestId)
+{
+    return init(SSH_FXP_FSTAT, requestId).appendString(handle).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateWriteFile(const QByteArray &handle,
+    quint64 offset, const QByteArray &data, quint32 requestId)
+{
+    return init(SSH_FXP_WRITE, requestId).appendString(handle)
+        .appendInt64(offset).appendString(data).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::generateOpenFile(const QString &path,
+    OpenType openType, SftpOverwriteMode mode, quint32 requestId)
+{
+    quint32 pFlags;
+    switch (openType) {
+    case Read:
+        pFlags = SSH_FXF_READ;
+        break;
+    case Write:
+        pFlags = SSH_FXF_WRITE | SSH_FXF_CREAT;
+        switch (mode) {
+        case SftpOverwriteExisting: pFlags |= SSH_FXF_TRUNC; break;
+        case SftpAppendToExisting: pFlags |= SSH_FXF_APPEND; break;
+        case SftpSkipExisting: pFlags |= SSH_FXF_EXCL; break;
+        }
+        break;
+    }
+    return init(SSH_FXP_OPEN, requestId).appendString(path).appendInt(pFlags)
+        .appendInt(DefaultAttributes).finalize();
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::init(SftpPacketType type,
+    quint32 requestId)
+{
+    m_data.resize(TypeOffset + 1);
+    m_data[TypeOffset] = type;
+    if (type != SSH_FXP_INIT) {
+        appendInt(requestId);
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("Generating SFTP packet of type %d with request id %u", type,
+            requestId);
+#endif
+    }
+    return *this;
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::appendInt(quint32 val)
+{
+    m_data.append(AbstractSshPacket::encodeInt(val));
+    return *this;
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::appendInt64(quint64 value)
+{
+    m_data.append(AbstractSshPacket::encodeInt(value));
+    return *this;
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::appendString(const QString &string)
+{
+    m_data.append(AbstractSshPacket::encodeString(string.toUtf8()));
+    return *this;
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::appendString(const QByteArray &string)
+{
+    m_data += AbstractSshPacket::encodeString(string);
+    return *this;
+}
+
+SftpOutgoingPacket &SftpOutgoingPacket::finalize()
+{
+    AbstractSshPacket::setLengthField(m_data);
+    return *this;
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sftpoutgoingpacket_p.h b/src/plugins/coreplugin/ssh/sftpoutgoingpacket_p.h
new file mode 100644
index 00000000000..4f456e87542
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftpoutgoingpacket_p.h
@@ -0,0 +1,83 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTPOUTGOINGPACKET_P_H
+#define SFTPOUTGOINGPACKET_P_H
+
+#include "sftppacket_p.h"
+#include "sftpdefs.h"
+
+namespace Core {
+namespace Internal {
+
+class SftpOutgoingPacket : public AbstractSftpPacket
+{
+public:
+    SftpOutgoingPacket();
+    SftpOutgoingPacket &generateInit(quint32 version);
+    SftpOutgoingPacket &generateOpenDir(const QString &path, quint32 requestId);
+    SftpOutgoingPacket &generateReadDir(const QByteArray &handle,
+        quint32 requestId);
+    SftpOutgoingPacket &generateCloseHandle(const QByteArray &handle,
+        quint32 requestId);
+    SftpOutgoingPacket &generateMkDir(const QString &path, quint32 requestId);
+    SftpOutgoingPacket &generateRmDir(const QString &path, quint32 requestId);
+    SftpOutgoingPacket &generateRm(const QString &path, quint32 requestId);
+    SftpOutgoingPacket &generateRename(const QString &oldPath,
+        const QString &newPath, quint32 requestId);
+    SftpOutgoingPacket &generateOpenFileForWriting(const QString &path,
+         SftpOverwriteMode mode, quint32 requestId);
+    SftpOutgoingPacket &generateOpenFileForReading(const QString &path,
+        quint32 requestId);
+    SftpOutgoingPacket &generateReadFile(const QByteArray &handle,
+        quint64 offset, quint32 length, quint32 requestId);
+    SftpOutgoingPacket &generateFstat(const QByteArray &handle,
+        quint32 requestId);
+    SftpOutgoingPacket &generateWriteFile(const QByteArray &handle,
+        quint64 offset, const QByteArray &data, quint32 requestId);
+
+private:
+    static QByteArray encodeString(const QString &string);
+
+    enum OpenType { Read, Write };
+    SftpOutgoingPacket &generateOpenFile(const QString &path, OpenType openType,
+        SftpOverwriteMode mode, quint32 requestId);
+
+    SftpOutgoingPacket &init(SftpPacketType type, quint32 requestId);
+    SftpOutgoingPacket &appendInt(quint32 value);
+    SftpOutgoingPacket &appendInt64(quint64 value);
+    SftpOutgoingPacket &appendString(const QString &string);
+    SftpOutgoingPacket &appendString(const QByteArray &string);
+    SftpOutgoingPacket &finalize();
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SFTPOUTGOINGPACKET_P_H
diff --git a/src/plugins/coreplugin/ssh/sftppacket.cpp b/src/plugins/coreplugin/ssh/sftppacket.cpp
new file mode 100644
index 00000000000..0064bf39faf
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftppacket.cpp
@@ -0,0 +1,54 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sftppacket_p.h"
+
+#include "sshpacketparser_p.h"
+
+namespace Core {
+namespace Internal {
+
+const quint32 AbstractSftpPacket::MaxDataSize = 32768;
+const quint32 AbstractSftpPacket::MaxPacketSize = 34000;
+const int AbstractSftpPacket::TypeOffset = 4;
+const int AbstractSftpPacket::RequestIdOffset = TypeOffset + 1;
+const int AbstractSftpPacket::PayloadOffset = RequestIdOffset + 4;
+
+
+AbstractSftpPacket::AbstractSftpPacket()
+{
+}
+
+quint32 AbstractSftpPacket::requestId() const
+{
+    return SshPacketParser::asUint32(m_data, RequestIdOffset);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sftppacket_p.h b/src/plugins/coreplugin/ssh/sftppacket_p.h
new file mode 100644
index 00000000000..aae1a15a97b
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sftppacket_p.h
@@ -0,0 +1,108 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SFTPPACKET_P_H
+#define SFTPPACKET_P_H
+
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QString>
+
+namespace Core {
+namespace Internal {
+
+enum SftpPacketType {
+    SSH_FXP_INIT = 1,
+    SSH_FXP_VERSION = 2,
+    SSH_FXP_OPEN = 3,
+    SSH_FXP_CLOSE = 4,
+    SSH_FXP_READ = 5,
+    SSH_FXP_WRITE = 6,
+    SSH_FXP_LSTAT = 7,
+    SSH_FXP_FSTAT = 8,
+    SSH_FXP_SETSTAT = 9,
+    SSH_FXP_FSETSTAT = 10,
+    SSH_FXP_OPENDIR = 11,
+    SSH_FXP_READDIR = 12,
+    SSH_FXP_REMOVE = 13,
+    SSH_FXP_MKDIR = 14,
+    SSH_FXP_RMDIR = 15,
+    SSH_FXP_REALPATH = 16,
+    SSH_FXP_STAT = 17,
+    SSH_FXP_RENAME = 18,
+    SSH_FXP_READLINK = 19,
+    SSH_FXP_SYMLINK = 20, // Removed from later protocol versions. Try not to use.
+
+    SSH_FXP_STATUS = 101,
+    SSH_FXP_HANDLE = 102,
+    SSH_FXP_DATA = 103,
+    SSH_FXP_NAME = 104,
+    SSH_FXP_ATTRS = 105,
+
+    SSH_FXP_EXTENDED = 200,
+    SSH_FXP_EXTENDED_REPLY = 201
+};
+
+enum SftpStatusCode {
+    SSH_FX_OK = 0,
+    SSH_FX_EOF = 1,
+    SSH_FX_NO_SUCH_FILE = 2,
+    SSH_FX_PERMISSION_DENIED = 3,
+    SSH_FX_FAILURE = 4,
+    SSH_FX_BAD_MESSAGE = 5,
+    SSH_FX_NO_CONNECTION = 6,
+    SSH_FX_CONNECTION_LOST = 7,
+    SSH_FX_OP_UNSUPPORTED = 8
+};
+
+class AbstractSftpPacket
+{
+public:
+    AbstractSftpPacket();
+    quint32 requestId() const;
+    const QByteArray &rawData() const { return m_data; }
+    SftpPacketType type() const { return static_cast<SftpPacketType>(m_data.at(TypeOffset)); }
+
+    static const quint32 MaxDataSize; // "Pure" data size per read/writepacket.
+    static const quint32 MaxPacketSize;
+
+protected:
+    quint32 dataSize() const { return static_cast<quint32>(m_data.size()); }
+
+    static const int TypeOffset;
+    static const int RequestIdOffset;
+    static const int PayloadOffset;
+
+    QByteArray m_data;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SFTPPACKET_P_H
diff --git a/src/plugins/coreplugin/ssh/sshbotanconversions_p.h b/src/plugins/coreplugin/ssh/sshbotanconversions_p.h
new file mode 100644
index 00000000000..05829779423
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshbotanconversions_p.h
@@ -0,0 +1,97 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef BYTEARRAYCONVERSIONS_P_H
+#define BYTEARRAYCONVERSIONS_P_H
+
+#include "sshcapabilities_p.h"
+
+#include <botan/rng.h>
+#include <botan/secmem.h>
+
+namespace Core {
+namespace Internal {
+
+inline const Botan::byte *convertByteArray(const QByteArray &a)
+{
+    return reinterpret_cast<const Botan::byte *>(a.constData());
+}
+
+inline Botan::byte *convertByteArray(QByteArray &a)
+{
+    return reinterpret_cast<Botan::byte *>(a.data());
+}
+
+inline QByteArray convertByteArray(const Botan::SecureVector<Botan::byte> &v)
+{
+    return QByteArray(reinterpret_cast<const char *>(v.begin()), v.size());
+}
+
+inline const char *botanKeyExchangeAlgoName(const QByteArray &rfcAlgoName)
+{
+    Q_ASSERT(rfcAlgoName == SshCapabilities::DiffieHellmanGroup1Sha1
+        || rfcAlgoName == SshCapabilities::DiffieHellmanGroup14Sha1);
+    return rfcAlgoName == SshCapabilities::DiffieHellmanGroup1Sha1
+        ? "modp/ietf/1024" : "modp/ietf/2048";
+}
+
+inline const char *botanCryptAlgoName(const QByteArray &rfcAlgoName)
+{
+    Q_ASSERT(rfcAlgoName == SshCapabilities::CryptAlgo3Des
+        || rfcAlgoName == SshCapabilities::CryptAlgoAes128);
+    return rfcAlgoName == SshCapabilities::CryptAlgo3Des
+        ? "TripleDES" : "AES-128";
+}
+
+inline const char *botanEmsaAlgoName(const QByteArray &rfcAlgoName)
+{
+    Q_ASSERT(rfcAlgoName == SshCapabilities::PubKeyDss
+        || rfcAlgoName == SshCapabilities::PubKeyRsa);
+    return rfcAlgoName == SshCapabilities::PubKeyDss
+        ? "EMSA1(SHA-1)" : "EMSA3(SHA-1)";
+}
+
+inline const char *botanSha1Name() { return "SHA-1"; }
+
+inline const char *botanHMacAlgoName(const QByteArray &rfcAlgoName)
+{
+    Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1);
+    return botanSha1Name();
+}
+
+inline quint32 botanHMacKeyLen(const QByteArray &rfcAlgoName)
+{
+    Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1);
+    return 20;
+}
+
+} // namespace Internal
+} // namespace Core
+
+#endif // BYTEARRAYCONVERSIONS_P_H
diff --git a/src/plugins/coreplugin/ssh/sshcapabilities.cpp b/src/plugins/coreplugin/ssh/sshcapabilities.cpp
new file mode 100644
index 00000000000..56db394206a
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshcapabilities.cpp
@@ -0,0 +1,103 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshcapabilities_p.h"
+
+#include "sshexception_p.h"
+
+#include <QtCore/QCoreApplication>
+#include <QtCore/QString>
+
+namespace Core {
+namespace Internal {
+
+namespace {
+    QByteArray listAsByteArray(const QList<QByteArray> &list)
+    {
+        QByteArray array;
+        foreach(const QByteArray &elem, list)
+            array += elem + ',';
+        if (!array.isEmpty())
+            array.remove(array.count() - 1, 1);
+        return array;
+    }
+} // anonymous namspace
+
+const QByteArray SshCapabilities::DiffieHellmanGroup1Sha1("diffie-hellman-group1-sha1");
+const QByteArray SshCapabilities::DiffieHellmanGroup14Sha1("diffie-hellman-group14-sha1");
+const QList<QByteArray> SshCapabilities::KeyExchangeMethods
+    = QList<QByteArray>() << SshCapabilities::DiffieHellmanGroup1Sha1
+          << SshCapabilities::DiffieHellmanGroup14Sha1;
+
+const QByteArray SshCapabilities::PubKeyDss("ssh-dss");
+const QByteArray SshCapabilities::PubKeyRsa("ssh-rsa");
+const QList<QByteArray> SshCapabilities::PublicKeyAlgorithms
+    = QList<QByteArray>() << SshCapabilities::PubKeyRsa
+          << SshCapabilities::PubKeyDss;
+
+const QByteArray SshCapabilities::CryptAlgo3Des("3des-cbc");
+const QByteArray SshCapabilities::CryptAlgoAes128("aes128-cbc");
+const QList<QByteArray> SshCapabilities::EncryptionAlgorithms
+    = QList<QByteArray>() << SshCapabilities::CryptAlgoAes128
+          << SshCapabilities::CryptAlgo3Des;
+
+const QByteArray SshCapabilities::HMacSha1("hmac-sha1");
+const QByteArray SshCapabilities::HMacSha196("hmac-sha1-96");
+const QList<QByteArray> SshCapabilities::MacAlgorithms
+    = QList<QByteArray>() /* << SshCapabilities::HMacSha196 */
+        << SshCapabilities::HMacSha1;
+
+const QList<QByteArray> SshCapabilities::CompressionAlgorithms
+    = QList<QByteArray>() << "none";
+
+const QByteArray SshCapabilities::SshConnectionService("ssh-connection");
+
+const QByteArray SshCapabilities::PublicKeyAuthMethod("publickey");
+const QByteArray SshCapabilities::PasswordAuthMethod("password");
+
+
+QByteArray SshCapabilities::findBestMatch(const QList<QByteArray> &myCapabilities,
+    const QList<QByteArray> &serverCapabilities)
+{
+    foreach (const QByteArray &myCapability, myCapabilities) {
+        if (serverCapabilities.contains(myCapability))
+            return myCapability;
+    }
+
+    throw SshServerException(SSH_DISCONNECT_KEY_EXCHANGE_FAILED,
+        "Server and client capabilities don't match.",
+        QCoreApplication::translate("SshConnection",
+            "Server and client capabilities don't match. "
+            "Client list was: %1.\nServer list was %2.")
+            .arg(listAsByteArray(myCapabilities).data())
+            .arg(listAsByteArray(serverCapabilities).data()));
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshcapabilities_p.h b/src/plugins/coreplugin/ssh/sshcapabilities_p.h
new file mode 100644
index 00000000000..7c58c830f56
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshcapabilities_p.h
@@ -0,0 +1,72 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef CAPABILITIES_P_H
+#define CAPABILITIES_P_H
+
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+
+namespace Core {
+namespace Internal {
+
+class SshCapabilities
+{
+public:
+    static const QByteArray DiffieHellmanGroup1Sha1;
+    static const QByteArray DiffieHellmanGroup14Sha1;
+    static const QList<QByteArray> KeyExchangeMethods;
+
+    static const QByteArray PubKeyDss;
+    static const QByteArray PubKeyRsa;
+    static const QList<QByteArray> PublicKeyAlgorithms;
+
+    static const QByteArray CryptAlgo3Des;
+    static const QByteArray CryptAlgoAes128;
+    static const QList<QByteArray> EncryptionAlgorithms;
+
+    static const QByteArray HMacSha1;
+    static const QByteArray HMacSha196;
+    static const QList<QByteArray> MacAlgorithms;
+
+    static const QList<QByteArray> CompressionAlgorithms;
+
+    static const QByteArray SshConnectionService;
+
+    static const QByteArray PublicKeyAuthMethod;
+    static const QByteArray PasswordAuthMethod;
+
+    static QByteArray findBestMatch(const QList<QByteArray> &myCapabilities,
+        const QList<QByteArray> &serverCapabilities);
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // CAPABILITIES_P_H
diff --git a/src/plugins/coreplugin/ssh/sshchannel.cpp b/src/plugins/coreplugin/ssh/sshchannel.cpp
new file mode 100644
index 00000000000..6e1b9c43f52
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshchannel.cpp
@@ -0,0 +1,244 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshchannel_p.h"
+
+#include "sshincomingpacket_p.h"
+#include "sshsendfacility_p.h"
+
+#include <botan/exceptn.h>
+
+namespace Core {
+namespace Internal {
+
+namespace {
+    const quint32 MinMaxPacketSize = 32768;
+    const quint32 MaxPacketSize = 16 * 1024 * 1024;
+    const quint32 InitialWindowSize = MaxPacketSize;
+    const quint32 NoChannel = 0xffffffffu;
+} // anonymous namespace
+
+AbstractSshChannel::AbstractSshChannel(quint32 channelId,
+    SshSendFacility &sendFacility)
+    : m_sendFacility(sendFacility), m_localChannel(channelId),
+      m_remoteChannel(NoChannel), m_localWindowSize(InitialWindowSize),
+      m_remoteWindowSize(0), m_state(Inactive)
+{
+}
+
+AbstractSshChannel::~AbstractSshChannel()
+{
+
+}
+
+void AbstractSshChannel::setChannelState(ChannelState state)
+{
+    m_state = state;
+    if (state == Closed)
+        closeHook();
+}
+
+void AbstractSshChannel::requestSessionStart()
+{
+    // Note: We are just being paranoid here about the Botan exceptions,
+    // which are extremely unlikely to happen, because if there was a problem
+    // with our cryptography stuff, it would have hit us before, on
+    // establishing the connection.
+    try {
+        m_sendFacility.sendSessionPacket(m_localChannel, InitialWindowSize,
+            MaxPacketSize);
+        setChannelState(SessionRequested);
+    }  catch (Botan::Exception &e) {
+        m_errorString = QString::fromAscii(e.what());
+        closeChannel();
+    }
+}
+
+void AbstractSshChannel::sendData(const QByteArray &data)
+{
+    try {
+        m_sendBuffer += data;
+        flushSendBuffer();
+    }  catch (Botan::Exception &e) {
+        m_errorString = QString::fromAscii(e.what());
+        closeChannel();
+    }
+}
+
+void AbstractSshChannel::handleWindowAdjust(quint32 bytesToAdd)
+{
+    checkChannelActive();
+
+    const quint64 newValue = m_remoteWindowSize + bytesToAdd;
+    if (newValue > 0xffffffffu) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Illegal window size requested.");
+    }
+
+    m_remoteWindowSize = newValue;
+    flushSendBuffer();
+}
+
+void AbstractSshChannel::flushSendBuffer()
+{
+    const quint32 bytesToSend
+        = qMin<quint32>(m_remoteWindowSize, m_sendBuffer.size());
+    if (bytesToSend > 0) {
+        const QByteArray &data = m_sendBuffer.left(bytesToSend);
+        m_sendFacility.sendChannelDataPacket(m_remoteChannel, data);
+        m_sendBuffer.remove(0, bytesToSend);
+        m_remoteWindowSize -= bytesToSend;
+    }
+}
+
+void AbstractSshChannel::handleOpenSuccess(quint32 remoteChannelId,
+    quint32 remoteWindowSize, quint32 remoteMaxPacketSize)
+{
+    if (m_state != SessionRequested) {
+       throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+           "Invalid SSH_MSG_CHANNEL_OPEN_CONFIRMATION packet.");
+   }
+
+   if (remoteMaxPacketSize < MinMaxPacketSize) {
+       throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+           "Maximum packet size too low.");
+   }
+
+#ifdef CREATOR_SSH_DEBUG
+   qDebug("Channel opened. remote channel id: %u, remote window size: %u, "
+       "remote max packet size: %u",
+       remoteChannelId, remoteWindowSize, remoteMaxPacketSize);
+#endif
+   m_remoteChannel = remoteChannelId;
+   m_remoteWindowSize = remoteWindowSize;
+   m_remoteMaxPacketSize = remoteMaxPacketSize;
+   setChannelState(SessionEstablished);
+   handleOpenSuccessInternal();
+}
+
+void AbstractSshChannel::handleOpenFailure(const QString &reason)
+{
+    if (m_state != SessionRequested) {
+       throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+           "Invalid SSH_MSG_CHANNEL_OPEN_FAILURE packet.");
+   }
+
+#ifdef CREATOR_SSH_DEBUG
+   qDebug("Channel open request failed for channel %u", m_localChannel);
+#endif
+   m_errorString = reason;
+   handleOpenFailureInternal();
+}
+
+void AbstractSshChannel::handleChannelEof()
+{
+    if (m_state == Inactive || m_state == Closed) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_MSG_CHANNEL_EOF message.");
+    }
+    m_localWindowSize = 0;
+}
+
+void AbstractSshChannel::handleChannelClose()
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Receiving CLOSE for channel %u", m_localChannel);
+#endif
+    if (channelState() == Inactive || channelState() == Closed) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_MSG_CHANNEL_CLOSE message.");
+    }
+    closeChannel();
+    setChannelState(Closed);
+}
+
+void AbstractSshChannel::handleChannelData(const QByteArray &data)
+{
+    const int bytesToDeliver = handleChannelOrExtendedChannelData(data);
+    handleChannelDataInternal(bytesToDeliver == data.size()
+        ? data : data.left(bytesToDeliver));
+}
+
+void AbstractSshChannel::handleChannelExtendedData(quint32 type, const QByteArray &data)
+{
+    const int bytesToDeliver = handleChannelOrExtendedChannelData(data);
+    handleChannelExtendedDataInternal(type, bytesToDeliver == data.size()
+        ? data : data.left(bytesToDeliver));
+}
+
+void AbstractSshChannel::handleChannelRequest(const SshIncomingPacket &packet)
+{
+    qWarning("Ignoring unknown request type '%s'",
+        packet.extractChannelRequestType().data());
+}
+
+int AbstractSshChannel::handleChannelOrExtendedChannelData(const QByteArray &data)
+{
+    checkChannelActive();
+
+    const int bytesToDeliver = qMin<quint32>(data.size(), maxDataSize());
+    if (bytesToDeliver != data.size())
+        qWarning("Misbehaving server does not respect local window, clipping.");
+
+    m_localWindowSize -= bytesToDeliver;
+    if (m_localWindowSize < MaxPacketSize) {
+        m_localWindowSize += MaxPacketSize;
+        m_sendFacility.sendWindowAdjustPacket(m_remoteChannel,
+            MaxPacketSize);
+    }
+    return bytesToDeliver;
+}
+
+void AbstractSshChannel::closeChannel()
+{
+    if (m_state != CloseRequested && m_state != Closed) {
+        if (m_state == Inactive) {
+            setChannelState(Closed);
+        } else {
+            setChannelState(CloseRequested);
+            m_sendFacility.sendChannelEofPacket(m_remoteChannel);
+            m_sendFacility.sendChannelClosePacket(m_remoteChannel);
+        }
+    }
+}
+
+void AbstractSshChannel::checkChannelActive()
+{
+    if (channelState() == Inactive || channelState() == Closed)
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Channel not open.");
+}
+
+quint32 AbstractSshChannel::maxDataSize() const
+{
+    return qMin(m_localWindowSize, MaxPacketSize);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshchannel_p.h b/src/plugins/coreplugin/ssh/sshchannel_p.h
new file mode 100644
index 00000000000..993357d8713
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshchannel_p.h
@@ -0,0 +1,111 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHCHANNEL_P_H
+#define SSHCHANNEL_P_H
+
+#include <QtCore/QByteArray>
+#include <QtCore/QString>
+
+namespace Core {
+namespace Internal {
+
+class SshIncomingPacket;
+class SshSendFacility;
+
+class AbstractSshChannel
+{
+public:
+    enum ChannelState {
+        Inactive, SessionRequested, SessionEstablished, CloseRequested, Closed
+    };
+
+    ChannelState channelState() const { return m_state; }
+    void setChannelState(ChannelState state);
+
+    void setError(const QString &error) { m_errorString = error; }
+    QString errorString() const { return m_errorString; }
+
+    quint32 localChannelId() const { return m_localChannel; }
+    quint32 remoteChannel() const { return m_remoteChannel; }
+
+    virtual void handleChannelSuccess()=0;
+    virtual void handleChannelFailure()=0;
+    virtual void handleChannelRequest(const SshIncomingPacket &packet);
+
+    virtual void closeHook()=0;
+
+    void handleOpenSuccess(quint32 remoteChannelId, quint32 remoteWindowSize,
+        quint32 remoteMaxPacketSize);
+    void handleOpenFailure(const QString &reason);
+    void handleWindowAdjust(quint32 bytesToAdd);
+    void handleChannelEof();
+    void handleChannelClose();
+    void handleChannelData(const QByteArray &data);
+    void handleChannelExtendedData(quint32 type, const QByteArray &data);
+
+    void requestSessionStart();
+    void sendData(const QByteArray &data);
+    void closeChannel();
+
+    virtual ~AbstractSshChannel();
+
+protected:
+    AbstractSshChannel(quint32 channelId, SshSendFacility &sendFacility);
+
+    quint32 maxDataSize() const;
+    void checkChannelActive();
+
+    SshSendFacility &m_sendFacility;
+
+private:
+    virtual void handleOpenSuccessInternal()=0;
+    virtual void handleOpenFailureInternal()=0;
+    virtual void handleChannelDataInternal(const QByteArray &data)=0;
+    virtual void handleChannelExtendedDataInternal(quint32 type,
+        const QByteArray &data)=0;
+
+    void setState(ChannelState newState);
+    void flushSendBuffer();
+    int handleChannelOrExtendedChannelData(const QByteArray &data);
+
+    const quint32 m_localChannel;
+    quint32 m_remoteChannel;
+    quint32 m_localWindowSize;
+    quint32 m_remoteWindowSize;
+    quint32 m_remoteMaxPacketSize;
+    ChannelState m_state;
+    QByteArray m_sendBuffer;
+    QString m_errorString;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHCHANNEL_P_H
diff --git a/src/plugins/coreplugin/ssh/sshchannelmanager.cpp b/src/plugins/coreplugin/ssh/sshchannelmanager.cpp
new file mode 100644
index 00000000000..c7d31136971
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshchannelmanager.cpp
@@ -0,0 +1,188 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshchannelmanager_p.h"
+
+#include "sftpchannel.h"
+#include "sftpchannel_p.h"
+#include "sshincomingpacket_p.h"
+#include "sshremoteprocess.h"
+#include "sshremoteprocess_p.h"
+#include "sshsendfacility_p.h"
+
+#include <QtCore/QList>
+
+namespace Core {
+namespace Internal {
+
+SshChannelManager::SshChannelManager(SshSendFacility &sendFacility)
+    : m_sendFacility(sendFacility), m_nextLocalChannelId(0)
+{
+}
+
+SshChannelManager::~SshChannelManager() {}
+
+void SshChannelManager::handleChannelRequest(const SshIncomingPacket &packet)
+{
+    lookupChannel(packet.extractRecipientChannel())
+        ->handleChannelRequest(packet);
+}
+
+void SshChannelManager::handleChannelOpen(const SshIncomingPacket &)
+{
+    throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+        "Server tried to open channel on client.");
+}
+
+void SshChannelManager::handleChannelOpenFailure(const SshIncomingPacket &packet)
+{
+   const SshChannelOpenFailure &failure = packet.extractChannelOpenFailure();
+   ChannelIterator it = lookupChannelAsIterator(failure.localChannel);
+   try {
+       it.value()->handleOpenFailure(failure.reasonString);
+   } catch (SshServerException &e) {
+       removeChannel(it);
+       throw e;
+   }
+   removeChannel(it);
+}
+
+void SshChannelManager::handleChannelOpenConfirmation(const SshIncomingPacket &packet)
+{
+   const SshChannelOpenConfirmation &confirmation
+       = packet.extractChannelOpenConfirmation();
+   lookupChannel(confirmation.localChannel)->handleOpenSuccess(confirmation.remoteChannel,
+       confirmation.remoteWindowSize, confirmation.remoteMaxPacketSize);
+}
+
+void SshChannelManager::handleChannelSuccess(const SshIncomingPacket &packet)
+{
+    lookupChannel(packet.extractRecipientChannel())->handleChannelSuccess();
+}
+
+void SshChannelManager::handleChannelFailure(const SshIncomingPacket &packet)
+{
+    lookupChannel(packet.extractRecipientChannel())->handleChannelFailure();
+}
+
+void SshChannelManager::handleChannelWindowAdjust(const SshIncomingPacket &packet)
+{
+    const SshChannelWindowAdjust adjust = packet.extractWindowAdjust();
+    lookupChannel(adjust.localChannel)->handleWindowAdjust(adjust.bytesToAdd);
+}
+
+void SshChannelManager::handleChannelData(const SshIncomingPacket &packet)
+{
+    const SshChannelData &data = packet.extractChannelData();
+    lookupChannel(data.localChannel)->handleChannelData(data.data);
+}
+
+void SshChannelManager::handleChannelExtendedData(const SshIncomingPacket &packet)
+{
+    const SshChannelExtendedData &data = packet.extractChannelExtendedData();
+    lookupChannel(data.localChannel)->handleChannelExtendedData(data.type, data.data);
+}
+
+void SshChannelManager::handleChannelEof(const SshIncomingPacket &packet)
+{
+    AbstractSshChannel * const channel
+        = lookupChannel(packet.extractRecipientChannel(), true);
+    if (channel)
+        channel->handleChannelEof();
+}
+
+void SshChannelManager::handleChannelClose(const SshIncomingPacket &packet)
+{
+    const quint32 channelId = packet.extractRecipientChannel();
+
+    ChannelIterator it = lookupChannelAsIterator(channelId, true);
+    if (it != m_channels.end()) {
+        it.value()->handleChannelClose();
+        removeChannel(it);
+    }
+}
+
+SshChannelManager::ChannelIterator SshChannelManager::lookupChannelAsIterator(quint32 channelId,
+    bool allowNotFound)
+{
+    ChannelIterator it = m_channels.find(channelId);
+    if (it == m_channels.end() && !allowNotFound) {
+        throw SshServerException(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid channel id.",
+            SSH_TR("Invalid channel id %1").arg(channelId));
+    }
+    return it;
+}
+
+AbstractSshChannel *SshChannelManager::lookupChannel(quint32 channelId,
+    bool allowNotFound)
+{
+    ChannelIterator it = lookupChannelAsIterator(channelId, allowNotFound);
+    return it == m_channels.end() ? 0 : it.value();
+}
+
+Core::SshRemoteProcess::Ptr SshChannelManager::createRemoteProcess(const QByteArray &command)
+{
+    SshRemoteProcess::Ptr proc(new SshRemoteProcess(command, m_nextLocalChannelId++, m_sendFacility));
+    insertChannel(proc->d, proc);
+    return proc;
+}
+
+Core::SftpChannel::Ptr SshChannelManager::createSftpChannel()
+{
+    SftpChannel::Ptr sftp(new SftpChannel(m_nextLocalChannelId++, m_sendFacility));
+    insertChannel(sftp->d, sftp);
+    return sftp;
+}
+
+void SshChannelManager::insertChannel(AbstractSshChannel *priv,
+    const QSharedPointer<QObject> &pub)
+{
+    m_channels.insert(priv->localChannelId(), priv);
+    m_sessions.insert(priv, pub);
+}
+
+void SshChannelManager::closeAllChannels()
+{
+    for (ChannelIterator it = m_channels.begin(); it != m_channels.end(); ++it)
+        it.value()->closeChannel();
+    m_channels.clear();
+    m_sessions.clear();
+}
+
+void SshChannelManager::removeChannel(ChannelIterator it)
+{
+    Q_ASSERT(it != m_channels.end() && "Unexpected channel lookup failure.");
+    const int removeCount = m_sessions.remove(it.value());
+    Q_ASSERT(removeCount == 1 && "Session for channel not found.");
+    m_channels.erase(it);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshchannelmanager_p.h b/src/plugins/coreplugin/ssh/sshchannelmanager_p.h
new file mode 100644
index 00000000000..fe62c009241
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshchannelmanager_p.h
@@ -0,0 +1,89 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHCHANNELLAYER_P_H
+#define SSHCHANNELLAYER_P_H
+
+#include <QtCore/QHash>
+#include <QtCore/QSharedPointer>
+
+namespace Core {
+
+class SftpChannel;
+class SshRemoteProcess;
+
+namespace Internal {
+
+class AbstractSshChannel;
+class SshIncomingPacket;
+class SshSendFacility;
+
+class SshChannelManager
+{
+public:
+    SshChannelManager(SshSendFacility &sendFacility);
+    ~SshChannelManager();
+
+    QSharedPointer<SshRemoteProcess> createRemoteProcess(const QByteArray &command);
+    QSharedPointer<SftpChannel> createSftpChannel();
+    void closeAllChannels();
+
+    void handleChannelRequest(const SshIncomingPacket &packet);
+    void handleChannelOpen(const SshIncomingPacket &packet);
+    void handleChannelOpenFailure(const SshIncomingPacket &packet);
+    void handleChannelOpenConfirmation(const SshIncomingPacket &packet);
+    void handleChannelSuccess(const SshIncomingPacket &packet);
+    void handleChannelFailure(const SshIncomingPacket &packet);
+    void handleChannelWindowAdjust(const SshIncomingPacket &packet);
+    void handleChannelData(const SshIncomingPacket &packet);
+    void handleChannelExtendedData(const SshIncomingPacket &packet);
+    void handleChannelEof(const SshIncomingPacket &packet);
+    void handleChannelClose(const SshIncomingPacket &packet);
+
+private:
+    typedef QHash<quint32, AbstractSshChannel *>::Iterator ChannelIterator;
+
+    ChannelIterator lookupChannelAsIterator(quint32 channelId,
+        bool allowNotFound = false);
+    AbstractSshChannel *lookupChannel(quint32 channelId,
+        bool allowNotFound = false);
+    void removeChannel(ChannelIterator it);
+    void insertChannel(AbstractSshChannel *priv,
+        const QSharedPointer<QObject> &pub);
+
+    SshSendFacility &m_sendFacility;
+    QHash<quint32, AbstractSshChannel *> m_channels;
+    QHash<AbstractSshChannel *, QSharedPointer<QObject> > m_sessions;
+    quint32 m_nextLocalChannelId;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHCHANNELLAYER_P_H
diff --git a/src/plugins/coreplugin/ssh/sshconnection.cpp b/src/plugins/coreplugin/ssh/sshconnection.cpp
index 7433bbebd8d..fbf63d76705 100644
--- a/src/plugins/coreplugin/ssh/sshconnection.cpp
+++ b/src/plugins/coreplugin/ssh/sshconnection.cpp
@@ -1,19 +1,20 @@
-/****************************************************************************
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This file is part of Qt Creator.
+** Commercial Usage
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
 **
 ** GNU Lesser General Public License Usage
+**
 ** Alternatively, this file may be used under the terms of the GNU Lesser
 ** General Public License version 2.1 as published by the Free Software
 ** Foundation and appearing in the file LICENSE.LGPL included in the
@@ -21,471 +22,540 @@
 ** ensure the GNU Lesser General Public License version 2.1 requirements
 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 **
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
 **
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+**************************************************************************/
 
 #include "sshconnection.h"
+#include "sshconnection_p.h"
 
-#include "ne7sshobject.h"
+#include "sftpchannel.h"
+#include "sshcapabilities_p.h"
+#include "sshchannelmanager_p.h"
+#include "sshcryptofacility_p.h"
+#include "sshexception_p.h"
+#include "sshkeyexchange_p.h"
 
-#include <QtCore/QCoreApplication>
-#include <QtCore/QDir>
-#include <QtCore/QFileInfo>
-#include <QtCore/QMutex>
-#include <QtCore/QThread>
-#include <QtCore/QWaitCondition>
-
-#include <ne7ssh.h>
+#include <botan/exceptn.h>
+#include <botan/init.h>
 
-#include <exception>
+#include <QtCore/QFile>
+#include <QtCore/QMutex>
+#include <QtNetwork/QTcpSocket>
 
 namespace Core {
 
 namespace {
+    const QByteArray ClientId("SSH-2.0-QtCreator\r\n");
 
-class GenericSshConnection
-{
-    Q_DECLARE_TR_FUNCTIONS(GenericSshConnection)
-public:
-    GenericSshConnection(const SshServerInfo &server)
-        : ssh(Internal::Ne7SshObject::instance()->get()),
-        m_server(server),
-        m_channel(-1)
-    { }
-
-    ~GenericSshConnection()
-    {
-        quit();
-    }
+    bool staticInitializationsDone = false;
+    QMutex staticInitMutex;
 
-    bool start(bool shell, void (*callbackFunc)(void *), void *callbackArg)
+    void doStaticInitializationsIfNecessary()
     {
-        Q_ASSERT(m_channel == -1);
-
-        try {
-            const QString *authString;
-            int (ne7ssh::*connFunc)(const char *, int, const char *,
-                const char *, bool, int, void (*)(void *), void *);
-            if (m_server.authType == SshServerInfo::AuthByPwd) {
-                authString = &m_server.pwd;
-                connFunc = &ne7ssh::connectWithPassword;
-            } else {
-                authString = &m_server.privateKeyFile;
-                connFunc = &ne7ssh::connectWithKey;
+        if (!staticInitializationsDone) {
+            staticInitMutex.lock();
+            if (!staticInitializationsDone) {
+                Botan::LibraryInitializer::initialize("thread_safe=true");
+                qRegisterMetaType<SshError>("SshError");
+                staticInitializationsDone = true;
             }
-            m_channel = (ssh.data()->*connFunc)(m_server.host.toLatin1(),
-                m_server.port, m_server.uname.toAscii(), authString->toLatin1(),
-                shell, m_server.timeout, callbackFunc, callbackArg);
-            if (m_channel == -1) {
-                setError(tr("Could not connect to host."), false);
-                return false;
-            }
-        } catch (const std::exception &e) {
-            // Should in theory not be necessary, but Net7 leaks Botan exceptions.
-            setError(tr("Error in cryptography backend: %1")
-                     .arg(QLatin1String(e.what())), false);
-            return false;
-    }
-
-        return true;
-    }
-
-    void quit()
-    {
-        const int channel = m_channel;
-        if (channel != -1) {
-            m_channel = -1;
-            if (!ssh->close(channel))
-                qWarning("%s: close() failed.", Q_FUNC_INFO);
+            staticInitMutex.unlock();
         }
     }
+}
 
-    bool isConnected() const { return channel() != -1; }
-    bool hasError() const { return !m_error.isEmpty(); }
-    QString error() const { return m_error; }
-    int channel() const { return m_channel; }
-    QString lastNe7Error() { return ssh->errors()->pop(channel()); }
-    const SshServerInfo &server() { return m_server; }
+// TODO: Mechanism for checking the host key. First connection to host: save, later: compare
 
-    void setError(const QString error, bool appendNe7ErrMsg)
-    {
-        m_error = error;
-        if (appendNe7ErrMsg)
-            m_error += QLatin1String(": ") + lastNe7Error();
-    }
-
-    QSharedPointer<ne7ssh> ssh;
-private:
-    const SshServerInfo m_server;
-    QString m_error;
-    int m_channel;
-};
+SshConnection::Ptr SshConnection::create()
+{
+    doStaticInitializationsIfNecessary();
+    return Ptr(new SshConnection);
+}
 
-char *alloc(size_t n)
+SshConnection::SshConnection() : d(new Internal::SshConnectionPrivate(this))
 {
-    return new char[n];
+    connect(d, SIGNAL(connected()), this, SIGNAL(connected()),
+        Qt::QueuedConnection);
+    connect(d, SIGNAL(dataAvailable(QString)), this,
+        SIGNAL(dataAvailable(QString)), Qt::QueuedConnection);
+    connect(d, SIGNAL(disconnected()), this, SIGNAL(disconnected()),
+        Qt::QueuedConnection);
+    connect(d, SIGNAL(error(SshError)), this, SIGNAL(error(SshError)),
+        Qt::QueuedConnection);
 }
 
-} // anonymous namespace
+void SshConnection::connectToHost(const SshConnectionParameters &serverInfo)
+{
+    d->connectToHost(serverInfo);
+}
 
-namespace Internal {
+void SshConnection::disconnectFromHost()
+{
+    d->closeConnection(Internal::SSH_DISCONNECT_BY_APPLICATION, SshNoError, "",
+        QString());
+}
 
-struct InteractiveSshConnectionPrivate
+SshConnection::State SshConnection::state() const
 {
-    InteractiveSshConnectionPrivate(const SshServerInfo &server)
-        : conn(server), outputReader(0) {}
+    switch (d->state()) {
+    case Internal::SocketUnconnected:
+        return Unconnected;
+    case Internal::ConnectionEstablished:
+        return Connected;
+    default:
+        return Connecting;
+    }
+}
 
-    GenericSshConnection conn;
-    ConnectionOutputReader *outputReader;
-    QByteArray remoteOutput;
-    QMutex mutex;
-    QWaitCondition waitCond;
-};
+SshError SshConnection::errorState() const
+{
+    return d->error();
+}
 
-struct NonInteractiveSshConnectionPrivate
+QString SshConnection::errorString() const
 {
-    NonInteractiveSshConnectionPrivate(const SshServerInfo &server)
-        : conn(server) {}
+    return d->errorString();
+}
 
-    GenericSshConnection conn;
-    Ne7SftpSubsystem sftp;
-};
+SshConnectionParameters SshConnection::connectionParameters() const
+{
+    return d->m_connParams;
+}
 
-class ConnectionOutputReader : public QThread
+SshConnection::~SshConnection()
 {
-public:
-    ConnectionOutputReader(InteractiveSshConnection *parent)
-        : QThread(parent), m_conn(parent), m_stopRequested(false),
-          m_dataAvailable(false)
-    {}
+    disconnect();
+    disconnectFromHost();
+    delete d;
+}
 
-    ~ConnectionOutputReader()
-    {
-        stop();
-        wait();
-    }
+QSharedPointer<SshRemoteProcess> SshConnection::createRemoteProcess(const QByteArray &command)
+{
+    return state() == Connected
+        ? d->createRemoteProcess(command) : QSharedPointer<SshRemoteProcess>();
+}
 
-    void stop()
-    {
-        m_mutex.lock();
-        m_stopRequested = true;
-        m_waitCond.wakeOne();
-        m_mutex.unlock();
-    }
+QSharedPointer<SftpChannel> SshConnection::createSftpChannel()
+{
+    return state() == Connected
+        ? d->createSftpChannel() : QSharedPointer<SftpChannel>();
+}
 
-    void dataAvailable()
-    {
-        m_mutex.lock();
-        m_dataAvailable = true;
-        m_waitCond.wakeOne();
-        m_mutex.unlock();
-    }
 
-private:
-    virtual void run()
-    {
-        while (true) {
-            m_mutex.lock();
-            if (m_stopRequested) {
-                m_mutex.unlock();
-                return;
-            }
-            const int channel = m_conn->d->conn.channel();
-            if (!m_dataAvailable || channel == -1)
-                m_waitCond.wait(&m_mutex);
-            m_dataAvailable = false;
-            m_mutex.unlock();
-            QScopedPointer<char, QScopedPointerArrayDeleter<char> >
-                    output(m_conn->d->conn.ssh->readAndReset(channel, alloc));
-            if (output) {
-                m_conn->d->mutex.lock();
-                m_conn->d->remoteOutput += output.data();
-                emit m_conn->remoteOutputAvailable();
-                m_conn->d->mutex.unlock();
-            }
-        }
-    }
+namespace Internal {
 
-    InteractiveSshConnection *m_conn;
-    bool m_stopRequested;
-    bool m_dataAvailable;
-    QMutex m_mutex;
-    QWaitCondition m_waitCond;
-};
+SshConnectionPrivate::SshConnectionPrivate(SshConnection *conn)
+    : m_socket(new QTcpSocket(this)), m_state(SocketUnconnected),
+      m_sendFacility(m_socket),
+      m_channelManager(new SshChannelManager(m_sendFacility)),
+      m_error(SshNoError), m_ignoreNextPacket(false), m_conn(conn)
+{
+    setupPacketHandlers();
+    connect(&m_timeoutTimer, SIGNAL(timeout()), this, SLOT(handleTimeout()));
+}
 
-} // namespace Internal
+SshConnectionPrivate::~SshConnectionPrivate()
+{
+    disconnect();
+}
 
+void SshConnectionPrivate::setupPacketHandlers()
+{
+    typedef SshConnectionPrivate This;
+
+    setupPacketHandler(SSH_MSG_KEXINIT, StateList() << SocketConnected,
+        &This::handleKeyExchangeInitPacket);
+    setupPacketHandler(SSH_MSG_KEXDH_REPLY, StateList() << KeyExchangeStarted,
+        &This::handleKeyExchangeReplyPacket);
+
+    setupPacketHandler(SSH_MSG_NEWKEYS, StateList() << KeyExchangeSuccess,
+        &This::handleNewKeysPacket);
+    setupPacketHandler(SSH_MSG_SERVICE_ACCEPT,
+        StateList() << UserAuthServiceRequested,
+        &This::handleServiceAcceptPacket);
+    setupPacketHandler(SSH_MSG_USERAUTH_PASSWD_CHANGEREQ,
+        StateList() << UserAuthRequested, &This::handlePasswordExpiredPacket);
+    setupPacketHandler(SSH_MSG_GLOBAL_REQUEST,
+        StateList() << ConnectionEstablished, &This::handleGlobalRequest);
+
+    const StateList authReqList = StateList() << UserAuthRequested;
+    setupPacketHandler(SSH_MSG_USERAUTH_BANNER, authReqList,
+        &This::handleUserAuthBannerPacket);
+    setupPacketHandler(SSH_MSG_USERAUTH_SUCCESS, authReqList,
+        &This::handleUserAuthSuccessPacket);
+    setupPacketHandler(SSH_MSG_USERAUTH_FAILURE, authReqList,
+        &This::handleUserAuthFailurePacket);
+
+    const StateList connectedList
+        = StateList() << ConnectionEstablished;
+    setupPacketHandler(SSH_MSG_CHANNEL_REQUEST, connectedList,
+        &This::handleChannelRequest);
+    setupPacketHandler(SSH_MSG_CHANNEL_OPEN, connectedList,
+        &This::handleChannelOpen);
+    setupPacketHandler(SSH_MSG_CHANNEL_OPEN_FAILURE, connectedList,
+        &This::handleChannelOpenFailure);
+    setupPacketHandler(SSH_MSG_CHANNEL_OPEN_CONFIRMATION, connectedList,
+        &This::handleChannelOpenConfirmation);
+    setupPacketHandler(SSH_MSG_CHANNEL_SUCCESS, connectedList,
+        &This::handleChannelSuccess);
+    setupPacketHandler(SSH_MSG_CHANNEL_FAILURE, connectedList,
+        &This::handleChannelFailure);
+    setupPacketHandler(SSH_MSG_CHANNEL_WINDOW_ADJUST, connectedList,
+        &This::handleChannelWindowAdjust);
+    setupPacketHandler(SSH_MSG_CHANNEL_DATA, connectedList,
+        &This::handleChannelData);
+    setupPacketHandler(SSH_MSG_CHANNEL_EXTENDED_DATA, connectedList,
+        &This::handleChannelExtendedData);
+
+    const StateList connectedOrClosedList
+        = StateList() << SocketUnconnected << ConnectionEstablished;
+    setupPacketHandler(SSH_MSG_CHANNEL_EOF, connectedOrClosedList,
+        &This::handleChannelEof);
+    setupPacketHandler(SSH_MSG_CHANNEL_CLOSE, connectedOrClosedList,
+        &This::handleChannelClose);
+
+    setupPacketHandler(SSH_MSG_DISCONNECT, StateList() << SocketConnected
+        << KeyExchangeStarted << KeyExchangeSuccess
+        << UserAuthServiceRequested << UserAuthRequested
+        << ConnectionEstablished, &This::handleDisconnect);
+}
 
-namespace {
+void SshConnectionPrivate::setupPacketHandler(SshPacketType type,
+    const SshConnectionPrivate::StateList &states,
+    SshConnectionPrivate::PacketHandler handler)
+{
+    m_packetHandlers.insert(type, HandlerInStates(states, handler));
+}
 
-void wakeupReader(void *opaqueReader)
+void SshConnectionPrivate::handleSocketConnected()
 {
-    static_cast<Internal::ConnectionOutputReader*>(opaqueReader)->dataAvailable();
+    m_state = SocketConnected;
+    sendData(ClientId);
 }
 
-} // Anonymous namespace
+void SshConnectionPrivate::handleIncomingData()
+{
+    if (m_state == SocketUnconnected)
+        return; // For stuff queued in the event loop after we've called closeConnection();
+
+    try {
+        m_incomingData += m_socket->readAll();
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("state = %d, remote data size = %d", m_state,
+            m_incomingData.count());
+#endif
+        if (m_state == SocketConnected)
+            handleServerId();
+        handlePackets();
+    } catch (SshServerException &e) {
+        closeConnection(e.error, SshProtocolError, e.errorStringServer,
+            tr("SSH Protocol error: %1").arg(e.errorStringUser));
+    } catch (SshClientException &e) {
+        closeConnection(SSH_DISCONNECT_BY_APPLICATION, e.error, "",
+            e.errorString);
+    } catch (Botan::Exception &e) {
+        closeConnection(SSH_DISCONNECT_BY_APPLICATION, SshInternalError, "",
+            tr("Botan exception: %1").arg(e.what()));
+    }
+}
 
+void SshConnectionPrivate::handleServerId()
+{
+    const int idOffset = m_incomingData.indexOf("SSH-");
+    if (idOffset == -1)
+        return;
+    m_incomingData.remove(0, idOffset);
+    if (m_incomingData.size() < 7)
+        return;
+    const QByteArray &version = m_incomingData.mid(4, 3);
+    if (version != "2.0") {
+        throw SshServerException(SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED,
+            "Invalid protocol version.",
+            tr("Invalid protocol version: Expected '2.0', got '%1'.")
+            .arg(SshPacketParser::asUserString(version)));
+    }
+    const int endOffset = m_incomingData.indexOf("\r\n");
+    if (endOffset == -1)
+        return;
+    if (m_incomingData.at(7) != '-') {
+        throw SshServerException(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid server id.", tr("Invalid server id '%1'.")
+            .arg(SshPacketParser::asUserString(m_incomingData)));
+    }
 
-InteractiveSshConnection::InteractiveSshConnection(const SshServerInfo &server)
-    : d(new Internal::InteractiveSshConnectionPrivate(server))
-{
-    d->outputReader = new Internal::ConnectionOutputReader(this);
+    m_keyExchange.reset(new SshKeyExchange(m_sendFacility));
+    m_keyExchange->sendKexInitPacket(m_incomingData.left(endOffset));
+    m_incomingData.remove(0, endOffset + 2);
 }
 
-InteractiveSshConnection::~InteractiveSshConnection()
+void SshConnectionPrivate::handlePackets()
 {
-    d->conn.ssh->send("exit\n", d->conn.channel());
-    quit();
-    delete d;
+    m_incomingPacket.consumeData(m_incomingData);
+    while (m_incomingPacket.isComplete()) {
+        handleCurrentPacket();
+        m_incomingPacket.clear();
+        m_incomingPacket.consumeData(m_incomingData);
+    }
 }
 
-bool InteractiveSshConnection::start()
+void SshConnectionPrivate::handleCurrentPacket()
 {
-    if (isConnected())
-        return true;
+    Q_ASSERT(m_incomingPacket.isComplete());
+    Q_ASSERT(m_state == KeyExchangeStarted || !m_ignoreNextPacket);
 
-    if (!d->conn.start(true, wakeupReader, d->outputReader))
-        return false;
+    if (m_ignoreNextPacket) {
+        m_ignoreNextPacket = false;
+        return;
+    }
 
-    d->outputReader->start();
-    return true;
+    QHash<SshPacketType, HandlerInStates>::ConstIterator it
+        = m_packetHandlers.find(m_incomingPacket.type());
+    if (it == m_packetHandlers.end()) {
+        m_sendFacility.sendMsgUnimplementedPacket(m_incomingPacket.serverSeqNr());
+        return;
+    }
+    if (!it.value().first.contains(m_state)) {
+        throw SshServerException(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected packet.", tr("Unexpected packet of type %1.")
+            .arg(m_incomingPacket.type()));
+    }
+    (this->*it.value().second)();
 }
 
-bool InteractiveSshConnection::sendInput(const QByteArray &input)
+void SshConnectionPrivate::handleKeyExchangeInitPacket()
 {
-    if (!d->conn.ssh->send(input.data(), d->conn.channel())) {
-        d->conn.setError(tr("Error sending input"), true);
-        return false;
-    }
-    return true;
+    // If the server sends a guessed packet, the guess must be wrong,
+    // because the algorithms we support requires us to initiate the
+    // key exchange.
+    if (m_keyExchange->sendDhInitPacket(m_incomingPacket))
+        m_ignoreNextPacket = true;
+    m_state = KeyExchangeStarted;
 }
 
-void InteractiveSshConnection::quit()
+void SshConnectionPrivate::handleKeyExchangeReplyPacket()
 {
-    d->mutex.lock();
-    d->waitCond.wakeOne();
-    d->mutex.unlock();
-    d->outputReader->stop();
-    d->conn.quit();
+    m_keyExchange->sendNewKeysPacket(m_incomingPacket,
+        ClientId.left(ClientId.size() - 2));
+    m_sendFacility.recreateKeys(*m_keyExchange);
+    m_state = KeyExchangeSuccess;
 }
 
-QByteArray InteractiveSshConnection::waitForRemoteOutput(int msecs)
+void SshConnectionPrivate::handleNewKeysPacket()
 {
-    d->mutex.lock();
-    if (d->remoteOutput.isEmpty())
-        d->waitCond.wait(&d->mutex, msecs == -1 ? ULONG_MAX : msecs);
-    const QByteArray remoteOutput = d->remoteOutput;
-    d->remoteOutput.clear();
-    d->mutex.unlock();
-    return remoteOutput;
+    m_incomingPacket.recreateKeys(*m_keyExchange);
+    m_keyExchange.reset();
+    m_sendFacility.sendUserAuthServiceRequestPacket();
+    m_state = UserAuthServiceRequested;
 }
 
+void SshConnectionPrivate::handleServiceAcceptPacket()
+{
+    if (m_connParams.authType == SshConnectionParameters::AuthByPwd) {
+        m_sendFacility.sendUserAuthByPwdRequestPacket(m_connParams.uname.toUtf8(),
+            SshCapabilities::SshConnectionService, m_connParams.pwd.toUtf8());
+    } else {
+        QFile privKeyFile(m_connParams.privateKeyFile);
+        bool couldOpen = privKeyFile.open(QIODevice::ReadOnly);
+        QByteArray contents;
+        if (couldOpen)
+            contents = privKeyFile.readAll();
+        if (!couldOpen || privKeyFile.error() != QFile::NoError) {
+            throw SshClientException(SshKeyFileError,
+                tr("Could not read private key file: %1")
+                .arg(privKeyFile.errorString()));
+        }
 
-InteractiveSshConnection::Ptr InteractiveSshConnection::create(const SshServerInfo &server)
-{
-    return Ptr(new InteractiveSshConnection(server));
+        m_sendFacility.createAuthenticationKey(contents);
+        m_sendFacility.sendUserAuthByKeyRequestPacket(m_connParams.uname.toUtf8(),
+            SshCapabilities::SshConnectionService);
+    }
+    m_state = UserAuthRequested;
 }
 
-bool InteractiveSshConnection::isConnected() const
+void SshConnectionPrivate::handlePasswordExpiredPacket()
 {
-    return d->conn.isConnected();
+    if (m_connParams.authType == SshConnectionParameters::AuthByKey) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Got SSH_MSG_USERAUTH_PASSWD_CHANGEREQ, but did not use password.");
+    }
+
+    throw SshClientException(SshAuthenticationError, tr("Password expired."));
 }
 
-bool InteractiveSshConnection::hasError() const
+void SshConnectionPrivate::handleUserAuthBannerPacket()
 {
-    return d->conn.hasError();
+    emit dataAvailable(m_incomingPacket.extractUserAuthBanner().message);
 }
 
-QString InteractiveSshConnection::error() const
+void SshConnectionPrivate::handleGlobalRequest()
 {
-    return d->conn.error();
+    m_sendFacility.sendRequestFailurePacket();
 }
 
-
-namespace {
-
-class FileMgr
+void SshConnectionPrivate::handleUserAuthSuccessPacket()
 {
-public:
-    FileMgr(const QString &filePath, const char *mode)
-        : m_file(fopen(filePath.toLatin1().data(), mode)) {}
-    ~FileMgr() { if (m_file) fclose(m_file); }
-    FILE *file() const { return m_file; }
-private:
-    FILE * const m_file;
-};
-
-} // Anonymous namespace
+    m_state = ConnectionEstablished;
+    m_timeoutTimer.stop();
+    emit connected();
+}
 
-SftpConnection::SftpConnection(const SshServerInfo &server)
-    : d(new Internal::NonInteractiveSshConnectionPrivate(server))
-{ }
+void SshConnectionPrivate::handleUserAuthFailurePacket()
+{
+    const QString errorMsg = m_connParams.authType == SshConnectionParameters::AuthByPwd
+        ? tr("Server rejected password.") : tr("Server rejected key.");
+    throw SshClientException(SshAuthenticationError, errorMsg);
+}
+void SshConnectionPrivate::handleDebugPacket()
+{
+    const SshDebug &msg = m_incomingPacket.extractDebug();
+    if (msg.display)
+        emit dataAvailable(msg.message);
+}
 
-SftpConnection::~SftpConnection()
+void SshConnectionPrivate::handleChannelRequest()
 {
-    quit();
-    delete d;
+    m_channelManager->handleChannelRequest(m_incomingPacket);
 }
 
-bool SftpConnection::start()
+void SshConnectionPrivate::handleChannelOpen()
 {
-    if (isConnected())
-        return true;
-    if (!d->conn.start(false, 0, 0))
-        return false;
-    if (!d->conn.ssh->initSftp(d->sftp, d->conn.channel())
-        || !d->sftp.setTimeout(d->conn.server().timeout)) {
-        d->conn.setError(tr("Error setting up SFTP subsystem"), true);
-        quit();
-        return false;
-    }
-    return true;
+    m_channelManager->handleChannelOpen(m_incomingPacket);
 }
 
-bool SftpConnection::transferFiles(const QList<SftpTransferInfo> &transferList)
+void SshConnectionPrivate::handleChannelOpenFailure()
 {
-    for (int i = 0; i < transferList.count(); ++i) {
-        const SftpTransferInfo &transfer = transferList.at(i);
-        bool success;
-        if (transfer.type == SftpTransferInfo::Upload) {
-            success = upload(transfer.localFilePath, transfer.remoteFilePath);
-        } else {
-            success = download(transfer.remoteFilePath, transfer.localFilePath);
-        }
-        if (!success)
-            return false;
-    }
+   m_channelManager->handleChannelOpenFailure(m_incomingPacket);
+}
 
-    return true;
+void SshConnectionPrivate::handleChannelOpenConfirmation()
+{
+    m_channelManager->handleChannelOpenConfirmation(m_incomingPacket);
 }
 
-bool SftpConnection::upload(const QString &localFilePath,
-                            const QByteArray &remoteFilePath)
+void SshConnectionPrivate::handleChannelSuccess()
 {
-    FileMgr fileMgr(localFilePath, "rb");
-    if (!fileMgr.file()) {
-        d->conn.setError(tr("Could not open file '%1'").arg(localFilePath),
-                          false);
-        return false;
-    }
+    m_channelManager->handleChannelSuccess(m_incomingPacket);
+}
 
-    if (!d->sftp.put(fileMgr.file(), remoteFilePath.data())) {
-        d->conn.setError(tr("Could not uplodad file '%1'")
-                         .arg(localFilePath), true);
-        return false;
-    }
+void SshConnectionPrivate::handleChannelFailure()
+{
+    m_channelManager->handleChannelFailure(m_incomingPacket);
+}
 
-    emit fileCopied(localFilePath);
-    return true;
+void SshConnectionPrivate::handleChannelWindowAdjust()
+{
+   m_channelManager->handleChannelWindowAdjust(m_incomingPacket);
 }
 
-bool SftpConnection::download(const QByteArray &remoteFilePath,
-                              const QString &localFilePath)
+void SshConnectionPrivate::handleChannelData()
 {
-    FileMgr fileMgr(localFilePath, "wb");
-    if (!fileMgr.file()) {
-        d->conn.setError(tr("Could not open file '%1'").arg(localFilePath),
-                          false);
-        return false;
-    }
+   m_channelManager->handleChannelData(m_incomingPacket);
+}
 
-    if (!d->sftp.get(remoteFilePath.data(), fileMgr.file())) {
-        d->conn.setError(tr("Could not copy remote file '%1' to local file '%2'")
-                          .arg(remoteFilePath, localFilePath), false);
-        return false;
-    }
+void SshConnectionPrivate::handleChannelExtendedData()
+{
+   m_channelManager->handleChannelExtendedData(m_incomingPacket);
+}
 
-    emit fileCopied(remoteFilePath);
-    return true;
+void SshConnectionPrivate::handleChannelEof()
+{
+   m_channelManager->handleChannelEof(m_incomingPacket);
 }
 
-bool SftpConnection::createRemoteDir(const QByteArray &remoteDir)
+void SshConnectionPrivate::handleChannelClose()
 {
-    if (!d->sftp.mkdir(remoteDir.data())) {
-        d->conn.setError(tr("Could not create remote directory"), true);
-        return false;
-    }
-    return true;
+   m_channelManager->handleChannelClose(m_incomingPacket);
 }
 
-bool SftpConnection::removeRemoteDir(const QByteArray &remoteDir)
+void SshConnectionPrivate::handleDisconnect()
 {
-    if (!d->sftp.rmdir(remoteDir.data())) {
-        d->conn.setError(tr("Could not remove remote directory"), true);
-        return false;
-    }
-    return true;
+    const SshDisconnect msg = m_incomingPacket.extractDisconnect();
+    throw SshServerException(SSH_DISCONNECT_CONNECTION_LOST,
+        "", tr("Server closed connection: %1").arg(msg.description));
 }
 
-QByteArray SftpConnection::listRemoteDirContents(const QByteArray &remoteDir,
-                                                 bool withAttributes, bool &ok)
+void SshConnectionPrivate::sendData(const QByteArray &data)
 {
-    const char * const buffer = d->sftp.ls(remoteDir.data(), withAttributes);
-    if (!buffer) {
-        d->conn.setError(tr("Could not get remote directory contents"), true);
-        ok = false;
-        return QByteArray();
-    }
-    ok = true;
-    return QByteArray(buffer);
+    m_socket->write(data);
 }
 
-bool SftpConnection::removeRemoteFile(const QByteArray &remoteFile)
+void SshConnectionPrivate::handleSocketDisconnected()
 {
-    if (!d->sftp.rm(remoteFile.data())) {
-        d->conn.setError(tr("Could not remove remote file"), true);
-        return false;
-    }
-    return true;
+    closeConnection(SSH_DISCONNECT_CONNECTION_LOST, SshClosedByServerError,
+        "Connection closed unexpectedly.",
+        tr("Connection closed unexpectedly."));
 }
 
-bool SftpConnection::changeRemoteWorkingDir(const QByteArray &newRemoteDir)
+void SshConnectionPrivate::handleSocketError()
 {
-    if (!d->sftp.cd(newRemoteDir.data())) {
-        d->conn.setError(tr("Could not change remote working directory"), true);
-        return false;
+    if (m_error == SshNoError) {
+        closeConnection(SSH_DISCONNECT_CONNECTION_LOST, SshSocketError,
+            "Network error", m_socket->errorString());
     }
-    return true;
 }
 
-void SftpConnection::quit()
+void SshConnectionPrivate::handleTimeout()
 {
-    d->conn.quit();
+    if (m_state != ConnectionEstablished)
+        closeConnection(SSH_DISCONNECT_BY_APPLICATION, SshTimeoutError, "",
+            tr("Connection timed out."));
 }
 
-bool SftpConnection::isConnected() const
-{
-    return d->conn.isConnected();
+void SshConnectionPrivate::connectToHost(const SshConnectionParameters &serverInfo)
+{
+    m_incomingData.clear();
+    m_incomingPacket.reset();
+    m_sendFacility.reset();
+    m_error = SshNoError;
+    m_ignoreNextPacket = false;
+    m_errorString.clear();
+    connect(m_socket, SIGNAL(connected()), this, SLOT(handleSocketConnected()));
+    connect(m_socket, SIGNAL(readyRead()), this, SLOT(handleIncomingData()));
+    connect(m_socket, SIGNAL(error(QAbstractSocket::SocketError)), this,
+        SLOT(handleSocketError()));
+    connect(m_socket, SIGNAL(disconnected()), this,
+        SLOT(handleSocketDisconnected()));
+    this->m_connParams = serverInfo;
+    m_state = SocketConnecting;
+    m_timeoutTimer.start(m_connParams.timeout * 1000);
+    m_socket->connectToHost(serverInfo.host, serverInfo.port);
 }
 
-bool SftpConnection::hasError() const
-{
-    return d->conn.hasError();
+void SshConnectionPrivate::closeConnection(SshErrorCode sshError,
+    SshError userError, const QByteArray &serverErrorString,
+    const QString &userErrorString)
+{
+    // Prevent endless loops by recursive exceptions.
+    if (m_state == SocketUnconnected || m_error != SshNoError)
+        return;
+
+    m_error = userError;
+    m_errorString = userErrorString;
+    m_timeoutTimer.stop();
+    disconnect(m_socket, 0, this, 0);
+    try {
+        m_channelManager->closeAllChannels();
+        m_sendFacility.sendDisconnectPacket(sshError, serverErrorString);
+    } catch (Botan::Exception &) {}  // Nothing sensible to be done here.
+    if (m_error != SshNoError)
+        emit error(userError);
+    if (m_state == ConnectionEstablished)
+        emit disconnected();
+    m_socket->disconnectFromHost();
+    m_state = SocketUnconnected;
 }
 
-QString SftpConnection::error() const
+QSharedPointer<SshRemoteProcess> SshConnectionPrivate::createRemoteProcess(const QByteArray &command)
 {
-    return d->conn.error();
+    return m_channelManager->createRemoteProcess(command);
 }
 
-SftpConnection::Ptr SftpConnection::create(const SshServerInfo &server)
+QSharedPointer<SftpChannel> SshConnectionPrivate::createSftpChannel()
 {
-    return Ptr(new SftpConnection(server));
+    return m_channelManager->createSftpChannel();
 }
 
+} // namespace Internal
 } // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshconnection.h b/src/plugins/coreplugin/ssh/sshconnection.h
index 8c7b59f594b..e7f73995a4a 100644
--- a/src/plugins/coreplugin/ssh/sshconnection.h
+++ b/src/plugins/coreplugin/ssh/sshconnection.h
@@ -1,19 +1,20 @@
-/****************************************************************************
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 **
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
-** This file is part of Qt Creator.
+** Commercial Usage
 **
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
 **
 ** GNU Lesser General Public License Usage
+**
 ** Alternatively, this file may be used under the terms of the GNU Lesser
 ** General Public License version 2.1 as published by the Free Software
 ** Foundation and appearing in the file LICENSE.LGPL included in the
@@ -21,27 +22,16 @@
 ** ensure the GNU Lesser General Public License version 2.1 requirements
 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 **
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
 **
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+**************************************************************************/
 
 #ifndef SSHCONNECTION_H
 #define SSHCONNECTION_H
 
+#include "ssherrors.h"
+
 #include <coreplugin/core_global.h>
 
 #include <QtCore/QByteArray>
@@ -50,14 +40,14 @@
 #include <QtCore/QString>
 
 namespace Core {
+class SftpChannel;
+class SshRemoteProcess;
 
 namespace Internal {
-    struct InteractiveSshConnectionPrivate;
-    struct NonInteractiveSshConnectionPrivate;
-    class ConnectionOutputReader;
-}
+class SshConnectionPrivate;
+} // namespace Internal
 
-struct CORE_EXPORT SshServerInfo
+struct CORE_EXPORT SshConnectionParameters
 {
     QString host;
     QString uname;
@@ -69,85 +59,44 @@ struct CORE_EXPORT SshServerInfo
 };
 
 
-class CORE_EXPORT InteractiveSshConnection : public QObject
+/*
+ * This class provides an SSH connection, implementing protocol version 2.0
+ * It can spawn channels for remote execution and SFTP operations (version 3).
+ * It operates asynchronously (non-blocking) and is not thread-safe.
+ */
+class CORE_EXPORT SshConnection : public QObject
 {
     Q_OBJECT
-    Q_DISABLE_COPY(InteractiveSshConnection)
-    friend class Internal::ConnectionOutputReader;
+    Q_DISABLE_COPY(SshConnection)
 public:
-    typedef QSharedPointer<InteractiveSshConnection> Ptr;
+    enum State { Unconnected, Connecting, Connected };
+    typedef QSharedPointer<SshConnection> Ptr;
 
-    static Ptr create(const SshServerInfo &server);
+    static Ptr create();
 
-    bool start();
-    void quit();
-    bool isConnected() const;
-    bool sendInput(const QByteArray &input); // Should normally end in newline.
-    QByteArray waitForRemoteOutput(int msecs = -1);
-    bool hasError() const;
-    QString error() const;
-    ~InteractiveSshConnection();
+    void connectToHost(const SshConnectionParameters &serverInfo);
+    void disconnectFromHost();
+    State state() const;
+    SshError errorState() const;
+    QString errorString() const;
+    SshConnectionParameters connectionParameters() const;
+    ~SshConnection();
 
-signals:
-    void remoteOutputAvailable();
-
-private:
-    InteractiveSshConnection(const SshServerInfo &server);
-
-    struct Internal::InteractiveSshConnectionPrivate *d;
-};
-
-
-struct CORE_EXPORT SftpTransferInfo
-{
-    enum Type { Upload, Download };
-
-    SftpTransferInfo(const QString &localFilePath,
-        const QByteArray &remoteFilePath, Type type)
-        : localFilePath(localFilePath),
-          remoteFilePath(remoteFilePath),
-          type(type)
-    {
-    }
-
-    QString localFilePath;
-    QByteArray remoteFilePath;
-    Type type;
-};
-
-class CORE_EXPORT SftpConnection : public QObject
-{
-    Q_OBJECT
-    Q_DISABLE_COPY(SftpConnection)
-public:
-    typedef QSharedPointer<SftpConnection> Ptr;
-
-    static Ptr create(const SshServerInfo &server);
-    bool start();
-    void quit();
-    bool isConnected() const;
-    bool hasError() const;
-    QString error() const;
-    bool upload(const QString &localFilePath, const QByteArray &remoteFilePath);
-    bool download(const QByteArray &remoteFilePath, const QString &localFilePath);
-    bool transferFiles(const QList<SftpTransferInfo> &transferList);
-    bool createRemoteDir(const QByteArray &remoteDir);
-    bool removeRemoteDir(const QByteArray &remoteDir);
-    bool removeRemoteFile(const QByteArray &remoteFile);
-    bool changeRemoteWorkingDir(const QByteArray &newRemoteDir);
-    QByteArray listRemoteDirContents(const QByteArray &remoteDir,
-                                     bool withAttributes, bool &ok);
-    ~SftpConnection();
+    QSharedPointer<SshRemoteProcess> createRemoteProcess(const QByteArray &command);
+    QSharedPointer<SftpChannel> createSftpChannel();
 
 signals:
-    void fileCopied(const QString &filePath);
+    void connected();
+    void disconnected();
+    void dataAvailable(const QString &message);
+    void error(SshError);
 
 private:
-    SftpConnection(const SshServerInfo &server);
+    SshConnection();
 
-    Internal::NonInteractiveSshConnectionPrivate *d;
+    Internal::SshConnectionPrivate *d;
 };
 
-} // namespace Core
+} // namespace Internal
 
 #endif // SSHCONNECTION_H
diff --git a/src/plugins/coreplugin/ssh/sshconnection_p.h b/src/plugins/coreplugin/ssh/sshconnection_p.h
new file mode 100644
index 00000000000..c20ccf78b52
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshconnection_p.h
@@ -0,0 +1,157 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHCONNECTION_P_H
+#define SSHCONNECTION_P_H
+
+#include "sshconnection.h"
+#include "sshexception_p.h"
+#include "sshincomingpacket_p.h"
+#include "sshremoteprocess.h"
+#include "sshsendfacility_p.h"
+
+#include <QtCore/QHash>
+#include <QtCore/QList>
+#include <QtCore/QObject>
+#include <QtCore/QPair>
+#include <QtCore/QScopedPointer>
+#include <QtCore/QTimer>
+
+QT_BEGIN_NAMESPACE
+class QTcpSocket;
+QT_END_NAMESPACE
+
+namespace Botan { class Exception; }
+
+namespace Core {
+class SftpChannel;
+
+namespace Internal {
+class SshChannelManager;
+
+// NOTE: When you add stuff here, don't forget to update m_packetHandlers.
+enum SshStateInternal {
+    SocketUnconnected, // initial and after disconnect
+    SocketConnecting, // After connectToHost()
+    SocketConnected, // After socket's connected() signal
+    KeyExchangeStarted, // After server's KEXINIT message
+    KeyExchangeSuccess, // After server's DH_REPLY message
+    UserAuthServiceRequested,
+    UserAuthRequested,
+
+    ConnectionEstablished // After service has been started
+    // ...
+};
+
+class SshConnectionPrivate : public QObject
+{
+    Q_OBJECT
+    friend class Core::SshConnection;
+public:
+    SshConnectionPrivate(SshConnection *conn);
+    ~SshConnectionPrivate();
+
+    void connectToHost(const SshConnectionParameters &serverInfo);
+    void closeConnection(SshErrorCode sshError, SshError userError,
+        const QByteArray &serverErrorString, const QString &userErrorString);
+    QSharedPointer<SshRemoteProcess> createRemoteProcess(const QByteArray &command);
+    QSharedPointer<SftpChannel> createSftpChannel();
+    SshStateInternal state() const { return m_state; }
+    SshError error() const { return m_error; }
+    QString errorString() const { return m_errorString; }
+
+signals:
+    void connected();
+    void disconnected();
+    void dataAvailable(const QString &message);
+    void error(SshError);
+
+private:
+    Q_SLOT void handleSocketConnected();
+    Q_SLOT void handleIncomingData();
+    Q_SLOT void handleSocketError();
+    Q_SLOT void handleSocketDisconnected();
+    Q_SLOT void handleTimeout();
+
+    void handleServerId();
+    void handlePackets();
+    void handleCurrentPacket();
+    void handleKeyExchangeInitPacket();
+    void handleKeyExchangeReplyPacket();
+    void handleNewKeysPacket();
+    void handleServiceAcceptPacket();
+    void handlePasswordExpiredPacket();
+    void handleUserAuthSuccessPacket();
+    void handleUserAuthFailurePacket();
+    void handleUserAuthBannerPacket();
+    void handleGlobalRequest();
+    void handleDebugPacket();
+    void handleChannelRequest();
+    void handleChannelOpen();
+    void handleChannelOpenFailure();
+    void handleChannelOpenConfirmation();
+    void handleChannelSuccess();
+    void handleChannelFailure();
+    void handleChannelWindowAdjust();
+    void handleChannelData();
+    void handleChannelExtendedData();
+    void handleChannelEof();
+    void handleChannelClose();
+    void handleDisconnect();
+
+    void sendData(const QByteArray &data);
+
+    typedef void (SshConnectionPrivate::*PacketHandler)();
+    typedef QList<SshStateInternal> StateList;
+    void setupPacketHandlers();
+    void setupPacketHandler(SshPacketType type, const StateList &states,
+        PacketHandler handler);
+
+    typedef QPair<StateList, PacketHandler> HandlerInStates;
+    QHash<SshPacketType, HandlerInStates> m_packetHandlers;
+
+    QTcpSocket *m_socket;
+    SshStateInternal m_state;
+    SshIncomingPacket m_incomingPacket;
+    SshSendFacility m_sendFacility;
+    QScopedPointer<SshChannelManager> m_channelManager;
+    SshConnectionParameters m_connParams;
+    QByteArray m_incomingData;
+    SshError m_error;
+    QString m_errorString;
+    QScopedPointer<SshKeyExchange> m_keyExchange;
+    QTimer m_timeoutTimer;
+    bool m_ignoreNextPacket;
+    SshConnection *m_conn;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHCONNECTION_P_H
diff --git a/src/plugins/coreplugin/ssh/sshcryptofacility.cpp b/src/plugins/coreplugin/ssh/sshcryptofacility.cpp
new file mode 100644
index 00000000000..fd2fe320444
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshcryptofacility.cpp
@@ -0,0 +1,369 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshcryptofacility_p.h"
+
+#include "sshbotanconversions_p.h"
+#include "sshcapabilities_p.h"
+#include "sshexception_p.h"
+#include "sshkeyexchange_p.h"
+#include "sshpacket_p.h"
+
+#include <botan/ber_dec.h>
+#include <botan/botan.h>
+#include <botan/cbc.h>
+#include <botan/dsa.h>
+#include <botan/hash.h>
+#include <botan/hmac.h>
+#include <botan/look_pk.h>
+#include <botan/pipe.h>
+#include <botan/pkcs8.h>
+#include <botan/pubkey.h>
+#include <botan/rsa.h>
+
+#include <QtCore/QDebug>
+#include <QtCore/QList>
+
+#include <string>
+
+using namespace Botan;
+
+namespace Core {
+namespace Internal {
+
+SshAbstractCryptoFacility::SshAbstractCryptoFacility()
+    : m_cipherBlockSize(0), m_macLength(0)
+{
+}
+
+SshAbstractCryptoFacility::~SshAbstractCryptoFacility() {}
+
+void SshAbstractCryptoFacility::clearKeys()
+{
+    m_cipherBlockSize = 0;
+    m_macLength = 0;
+    m_sessionId.clear();
+    m_pipe.reset(0);
+    m_hMac.reset(0);
+}
+
+void SshAbstractCryptoFacility::recreateKeys(const SshKeyExchange &kex)
+{
+    checkInvariant();
+
+    if (m_sessionId.isEmpty())
+        m_sessionId = kex.h();
+    Algorithm_Factory &af = global_state().algorithm_factory();
+    const std::string &cryptAlgo = botanCryptAlgoName(cryptAlgoName(kex));
+    BlockCipher * const cipher = af.prototype_block_cipher(cryptAlgo)->clone();
+
+    m_cipherBlockSize = cipher->BLOCK_SIZE;
+    const QByteArray ivData = generateHash(kex, ivChar(), m_cipherBlockSize);
+    const InitializationVector iv(convertByteArray(ivData), m_cipherBlockSize);
+
+    const quint32 keySize = max_keylength_of(cryptAlgo);
+    const QByteArray cryptKeyData = generateHash(kex, keyChar(), keySize);
+    SymmetricKey cryptKey(convertByteArray(cryptKeyData), keySize);
+
+    BlockCipherMode * const cipherMode
+        = makeCipherMode(cipher, new Null_Padding, iv, cryptKey);
+    m_pipe.reset(new Pipe(cipherMode));
+
+    m_macLength = botanHMacKeyLen(hMacAlgoName(kex));
+    const QByteArray hMacKeyData = generateHash(kex, macChar(), macLength());
+    SymmetricKey hMacKey(convertByteArray(hMacKeyData), macLength());
+    const HashFunction * const hMacProto
+        = af.prototype_hash_function(botanHMacAlgoName(hMacAlgoName(kex)));
+    m_hMac.reset(new HMAC(hMacProto->clone()));
+    m_hMac->set_key(hMacKey);
+}
+
+void SshAbstractCryptoFacility::convert(QByteArray &data, quint32 offset,
+    quint32 dataSize) const
+{
+    Q_ASSERT(offset + dataSize <= static_cast<quint32>(data.size()));
+    checkInvariant();
+
+    // Session id empty => No key exchange has happened yet.
+    if (dataSize == 0 || m_sessionId.isEmpty())
+        return;
+
+    if (dataSize % cipherBlockSize() != 0) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid packet size");
+    }
+    m_pipe->process_msg(reinterpret_cast<const byte *>(data.constData()) + offset,
+        dataSize);
+    quint32 bytesRead = m_pipe->read(reinterpret_cast<byte *>(data.data()) + offset,
+        dataSize, m_pipe->message_count() - 1); // Can't use Pipe::LAST_MESSAGE because of a VC bug.
+    Q_ASSERT(bytesRead == dataSize);
+}
+
+QByteArray SshAbstractCryptoFacility::generateMac(const QByteArray &data,
+    quint32 dataSize) const
+{
+    return m_sessionId.isEmpty()
+        ? QByteArray()
+        : convertByteArray(m_hMac->process(reinterpret_cast<const byte *>(data.constData()),
+              dataSize));
+}
+
+QByteArray SshAbstractCryptoFacility::generateHash(const SshKeyExchange &kex,
+    char c, quint32 length)
+{
+    const QByteArray &k = kex.k();
+    const QByteArray &h = kex.h();
+    QByteArray data(k);
+    data.append(h).append(c).append(m_sessionId);
+    SecureVector<byte> key
+        = kex.hash()->process(convertByteArray(data), data.size());
+    while (key.size() < length) {
+        SecureVector<byte> tmpKey;
+        tmpKey.append(convertByteArray(k), k.size());
+        tmpKey.append(convertByteArray(h), h.size());
+        tmpKey.append(key);
+        key.append(kex.hash()->process(tmpKey));
+    }
+    return QByteArray(reinterpret_cast<const char *>(key.begin()), length);
+}
+
+void SshAbstractCryptoFacility::checkInvariant() const
+{
+    Q_ASSERT(m_sessionId.isEmpty() == !m_pipe);
+}
+
+
+const QByteArray SshEncryptionFacility::PrivKeyFileStartLineRsa("-----BEGIN RSA PRIVATE KEY-----");
+const QByteArray SshEncryptionFacility::PrivKeyFileStartLineDsa("-----BEGIN DSA PRIVATE KEY-----");
+const QByteArray SshEncryptionFacility::PrivKeyFileEndLineRsa("-----END RSA PRIVATE KEY-----");
+const QByteArray SshEncryptionFacility::PrivKeyFileEndLineDsa("-----END DSA PRIVATE KEY-----");
+
+QByteArray SshEncryptionFacility::cryptAlgoName(const SshKeyExchange &kex) const
+{
+    return kex.encryptionAlgo();
+}
+
+QByteArray SshEncryptionFacility::hMacAlgoName(const SshKeyExchange &kex) const
+{
+    return kex.hMacAlgoClientToServer();
+}
+
+BlockCipherMode *SshEncryptionFacility::makeCipherMode(BlockCipher *cipher,
+    BlockCipherModePaddingMethod *paddingMethod, const InitializationVector &iv,
+    const SymmetricKey &key)
+{
+    return new CBC_Encryption(cipher, paddingMethod, key, iv);
+}
+
+void SshEncryptionFacility::encrypt(QByteArray &data) const
+{
+    convert(data, 0, data.size());
+}
+
+void SshEncryptionFacility::createAuthenticationKey(const QByteArray &privKeyFileContents)
+{
+    if (privKeyFileContents == m_cachedPrivKeyContents)
+        return;
+
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("%s: Key not cached, reading", Q_FUNC_INFO);
+#endif
+    QList<BigInt> pubKeyParams;
+    QList<BigInt> allKeyParams;
+    try {
+        createAuthenticationKeyFromPKCS8(privKeyFileContents, pubKeyParams,
+            allKeyParams);
+    } catch (Botan::Exception &) {
+        createAuthenticationKeyFromOpenSSL(privKeyFileContents, pubKeyParams,
+            allKeyParams);
+    }
+
+    foreach (const BigInt &b, allKeyParams) {
+        if (b.is_zero()) {
+            throw SshClientException(SshKeyFileError,
+                SSH_TR("Decoding of private key file failed."));
+        }
+    }
+
+    m_authPubKeyBlob = AbstractSshPacket::encodeString(m_authKeyAlgoName);
+    foreach (const BigInt &b, pubKeyParams)
+        m_authPubKeyBlob += AbstractSshPacket::encodeMpInt(b);
+    m_cachedPrivKeyContents = privKeyFileContents;
+}
+
+void SshEncryptionFacility::createAuthenticationKeyFromPKCS8(const QByteArray &privKeyFileContents,
+    QList<BigInt> &pubKeyParams, QList<BigInt> &allKeyParams)
+{
+    Pipe pipe;
+    pipe.process_msg(convertByteArray(privKeyFileContents),
+        privKeyFileContents.size());
+    Private_Key * const key = PKCS8::load_key(pipe, m_rng);
+    if (DSA_PrivateKey * const dsaKey = dynamic_cast<DSA_PrivateKey *>(key)) {
+        m_authKey.reset(dsaKey);
+        pubKeyParams << dsaKey->group_p() << dsaKey->group_q()
+            << dsaKey->group_g() << dsaKey->get_y();
+        allKeyParams << pubKeyParams << dsaKey->get_x();
+    } else if (RSA_PrivateKey * const rsaKey = dynamic_cast<RSA_PrivateKey *>(key)) {
+        m_authKey.reset(rsaKey);
+        pubKeyParams << rsaKey->get_e() << rsaKey->get_n();
+        allKeyParams << pubKeyParams << rsaKey->get_p() << rsaKey->get_q()
+            << rsaKey->get_d();
+    } else {
+        throw Botan::Exception();
+    }
+}
+
+void SshEncryptionFacility::createAuthenticationKeyFromOpenSSL(const QByteArray &privKeyFileContents,
+    QList<BigInt> &pubKeyParams, QList<BigInt> &allKeyParams)
+{
+    bool syntaxOk = true;
+    QList<QByteArray> lines = privKeyFileContents.split('\n');
+    while (lines.last().isEmpty())
+        lines.removeLast();
+    if (lines.count() < 3) {
+        syntaxOk = false;
+    } else if (lines.first() == PrivKeyFileStartLineRsa) {
+        if (lines.last() != PrivKeyFileEndLineRsa)
+            syntaxOk =false;
+        else
+            m_authKeyAlgoName = SshCapabilities::PubKeyRsa;
+    } else if (lines.first() == PrivKeyFileStartLineDsa) {
+        if (lines.last() != PrivKeyFileEndLineDsa)
+            syntaxOk = false;
+        else
+            m_authKeyAlgoName = SshCapabilities::PubKeyDss;
+    } else {
+        syntaxOk = false;
+    }
+    if (!syntaxOk) {
+        throw SshClientException(SshKeyFileError,
+            SSH_TR("Private key file has unexpected format."));
+    }
+
+    QByteArray privateKeyBlob;
+    for (int i = 1; i < lines.size() - 1; ++i)
+        privateKeyBlob += lines.at(i);
+    privateKeyBlob = QByteArray::fromBase64(privateKeyBlob);
+
+    BER_Decoder decoder(convertByteArray(privateKeyBlob),
+                        privateKeyBlob.size());
+    BER_Decoder sequence = decoder.start_cons(SEQUENCE);
+    quint32 version;
+    sequence.decode (version);
+    if (version != 0) {
+        throw SshClientException(SshKeyFileError,
+            SSH_TR("Private key encoding has version %1, expected 0.")
+            .arg(version));
+    }
+
+    if (m_authKeyAlgoName == SshCapabilities::PubKeyDss) {
+        BigInt p, q, g, y, x;
+        sequence.decode (p).decode (q).decode (g).decode (y).decode (x);
+        DSA_PrivateKey * const dsaKey
+                = new DSA_PrivateKey(m_rng, DL_Group(p, q, g), x);
+        m_authKey.reset(dsaKey);
+        pubKeyParams << p << q << g << y;
+        allKeyParams << pubKeyParams << x;
+    } else {
+        BigInt p, q, e, d, n;
+        sequence.decode (n).decode (e).decode (d).decode (p).decode (q);
+        RSA_PrivateKey * const rsaKey
+                = new RSA_PrivateKey (m_rng, p, q, e, d, n);
+        m_authKey.reset(rsaKey);
+        pubKeyParams << e << n;
+        allKeyParams << pubKeyParams << p << q << d;
+    }
+
+    sequence.discard_remaining();
+    sequence.verify_end();
+}
+
+QByteArray SshEncryptionFacility::authenticationAlgorithmName() const
+{
+    Q_ASSERT(m_authKey);
+    return m_authKeyAlgoName;
+}
+
+QByteArray SshEncryptionFacility::authenticationKeySignature(const QByteArray &data) const
+{
+    Q_ASSERT(m_authKey);
+
+    QScopedPointer<PK_Signer> signer(get_pk_signer (*m_authKey,
+        botanEmsaAlgoName(m_authKeyAlgoName)));
+    QByteArray dataToSign = AbstractSshPacket::encodeString(sessionId()) + data;
+    QByteArray signature
+        = convertByteArray(signer->sign_message(convertByteArray(dataToSign),
+              dataToSign.size(), m_rng));
+    return AbstractSshPacket::encodeString(m_authKeyAlgoName)
+        + AbstractSshPacket::encodeString(signature);
+}
+
+QByteArray SshEncryptionFacility::getRandomNumbers(int count) const
+{
+    QByteArray data;
+    data.resize(count);
+    m_rng.randomize(convertByteArray(data), count);
+    return data;
+}
+
+SshEncryptionFacility::~SshEncryptionFacility() {}
+
+
+QByteArray SshDecryptionFacility::cryptAlgoName(const SshKeyExchange &kex) const
+{
+    return kex.decryptionAlgo();
+}
+
+QByteArray SshDecryptionFacility::hMacAlgoName(const SshKeyExchange &kex) const
+{
+    return kex.hMacAlgoServerToClient();
+}
+
+BlockCipherMode *SshDecryptionFacility::makeCipherMode(BlockCipher *cipher,
+    BlockCipherModePaddingMethod *paddingMethod, const InitializationVector &iv,
+    const SymmetricKey &key)
+{
+    return new CBC_Decryption(cipher, paddingMethod, key, iv);
+}
+
+void SshDecryptionFacility::decrypt(QByteArray &data, quint32 offset,
+    quint32 dataSize) const
+{
+    convert(data, offset, dataSize);
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Decrypted data:");
+    const char * const start = data.constData() + offset;
+    const char * const end = start + dataSize;
+    for (const char *c = start; c < end; ++c)
+        qDebug() << "'" << *c << "' (0x" << (static_cast<int>(*c) & 0xff) << ")";
+#endif
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshcryptofacility_p.h b/src/plugins/coreplugin/ssh/sshcryptofacility_p.h
new file mode 100644
index 00000000000..f60e6d4b8de
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshcryptofacility_p.h
@@ -0,0 +1,154 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHABSTRACTCRYPTOFACILITY_P_H
+#define SSHABSTRACTCRYPTOFACILITY_P_H
+
+#include <botan/auto_rng.h>
+#include <botan/symkey.h>
+
+#include <QtCore/QByteArray>
+#include <QtCore/QScopedPointer>
+
+namespace Botan {
+    class BigInt;
+    class BlockCipher;
+    class BlockCipherMode;
+    class BlockCipherModePaddingMethod;
+    class HashFunction;
+    class HMAC;
+    class Pipe;
+    class PK_Signing_Key;
+}
+
+namespace Core {
+namespace Internal {
+
+class SshKeyExchange;
+
+class SshAbstractCryptoFacility
+{
+public:
+    virtual ~SshAbstractCryptoFacility();
+
+    void clearKeys();
+    void recreateKeys(const SshKeyExchange &kex);
+    QByteArray generateMac(const QByteArray &data, quint32 dataSize) const;
+    quint32 cipherBlockSize() const { return m_cipherBlockSize; }
+    quint32 macLength() const { return m_macLength; }
+
+protected:
+    SshAbstractCryptoFacility();
+    void convert(QByteArray &data, quint32 offset, quint32 dataSize) const;
+    QByteArray sessionId() const { return m_sessionId; }
+
+private:
+    SshAbstractCryptoFacility(const SshAbstractCryptoFacility &);
+    SshAbstractCryptoFacility &operator=(const SshAbstractCryptoFacility &);
+
+    virtual QByteArray cryptAlgoName(const SshKeyExchange &kex) const=0;
+    virtual QByteArray hMacAlgoName(const SshKeyExchange &kex) const=0;
+    virtual Botan::BlockCipherMode *makeCipherMode(Botan::BlockCipher *cipher,
+        Botan::BlockCipherModePaddingMethod *paddingMethod,
+        const Botan::InitializationVector &iv,
+        const Botan::SymmetricKey &key)=0;
+    virtual char ivChar() const=0;
+    virtual char keyChar() const=0;
+    virtual char macChar() const=0;
+
+    QByteArray generateHash(const SshKeyExchange &kex, char c, quint32 length);
+    void checkInvariant() const;
+
+    QByteArray m_sessionId;
+    QScopedPointer<Botan::Pipe> m_pipe;
+    QScopedPointer<Botan::HMAC> m_hMac;
+    quint32 m_cipherBlockSize;
+    quint32 m_macLength;
+};
+
+class SshEncryptionFacility : public SshAbstractCryptoFacility
+{
+public:
+    void encrypt(QByteArray &data) const;
+
+    void createAuthenticationKey(const QByteArray &privKeyFileContents);
+    QByteArray authenticationAlgorithmName() const;
+    QByteArray authenticationPublicKey() const { return m_authPubKeyBlob; }
+    QByteArray authenticationKeySignature(const QByteArray &data) const;
+    QByteArray getRandomNumbers(int count) const;
+
+    ~SshEncryptionFacility();
+
+private:
+    virtual QByteArray cryptAlgoName(const SshKeyExchange &kex) const;
+    virtual QByteArray hMacAlgoName(const SshKeyExchange &kex) const;
+    virtual Botan::BlockCipherMode *makeCipherMode(Botan::BlockCipher *cipher,
+        Botan::BlockCipherModePaddingMethod *paddingMethod,
+        const Botan::InitializationVector &iv, const Botan::SymmetricKey &key);
+    virtual char ivChar() const { return 'A'; }
+    virtual char keyChar() const { return 'C'; }
+    virtual char macChar() const { return 'E'; }
+
+    void createAuthenticationKeyFromPKCS8(const QByteArray &privKeyFileContents,
+        QList<Botan::BigInt> &pubKeyParams, QList<Botan::BigInt> &allKeyParams);
+    void createAuthenticationKeyFromOpenSSL(const QByteArray &privKeyFileContents,
+        QList<Botan::BigInt> &pubKeyParams, QList<Botan::BigInt> &allKeyParams);
+
+    static const QByteArray PrivKeyFileStartLineRsa;
+    static const QByteArray PrivKeyFileStartLineDsa;
+    static const QByteArray PrivKeyFileEndLineRsa;
+    static const QByteArray PrivKeyFileEndLineDsa;
+
+    QByteArray m_authKeyAlgoName;
+    QByteArray m_authPubKeyBlob;
+    QByteArray m_cachedPrivKeyContents;
+    QScopedPointer<Botan::PK_Signing_Key> m_authKey;
+    mutable Botan::AutoSeeded_RNG m_rng;
+};
+
+class SshDecryptionFacility : public SshAbstractCryptoFacility
+{
+public:
+    void decrypt(QByteArray &data, quint32 offset, quint32 dataSize) const;
+
+private:
+    virtual QByteArray cryptAlgoName(const SshKeyExchange &kex) const;
+    virtual QByteArray hMacAlgoName(const SshKeyExchange &kex) const;
+    virtual Botan::BlockCipherMode *makeCipherMode(Botan::BlockCipher *cipher,
+        Botan::BlockCipherModePaddingMethod *paddingMethod,
+        const Botan::InitializationVector &iv, const Botan::SymmetricKey &key);
+    virtual char ivChar() const { return 'B'; }
+    virtual char keyChar() const { return 'D'; }
+    virtual char macChar() const { return 'F'; }
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHABSTRACTCRYPTOFACILITY_P_H
diff --git a/src/plugins/coreplugin/ssh/sshdelayedsignal.cpp b/src/plugins/coreplugin/ssh/sshdelayedsignal.cpp
new file mode 100644
index 00000000000..d35075bf77f
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshdelayedsignal.cpp
@@ -0,0 +1,165 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshdelayedsignal_p.h"
+
+#include "sftpchannel_p.h"
+#include "sshremoteprocess_p.h"
+
+#include <QtCore/QTimer>
+
+namespace Core {
+namespace Internal {
+
+SshDelayedSignal::SshDelayedSignal(const QWeakPointer<QObject> &checkObject)
+    : m_checkObject(checkObject)
+{
+    QTimer::singleShot(0, this, SLOT(handleTimeout()));
+}
+
+void SshDelayedSignal::handleTimeout()
+{
+    if (!m_checkObject.isNull())
+        emitSignal();
+    deleteLater();
+}
+
+
+SftpDelayedSignal::SftpDelayedSignal(SftpChannelPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject)
+    : SshDelayedSignal(checkObject), m_privChannel(privChannel) {}
+
+
+SftpInitializationFailedSignal::SftpInitializationFailedSignal(SftpChannelPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject, const QString &reason)
+    : SftpDelayedSignal(privChannel, checkObject), m_reason(reason) {}
+
+void SftpInitializationFailedSignal::emitSignal()
+{
+    m_privChannel->emitInitializationFailedSignal(m_reason);
+}
+
+
+SftpInitializedSignal::SftpInitializedSignal(SftpChannelPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject)
+    : SftpDelayedSignal(privChannel, checkObject) {}
+
+void SftpInitializedSignal::emitSignal()
+{
+    m_privChannel->emitInitialized();
+}
+
+
+SftpJobFinishedSignal::SftpJobFinishedSignal(SftpChannelPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject, SftpJobId jobId,
+    const QString &error)
+    : SftpDelayedSignal(privChannel, checkObject), m_jobId(jobId), m_error(error)
+{
+}
+
+void SftpJobFinishedSignal::emitSignal()
+{
+    m_privChannel->emitJobFinished(m_jobId, m_error);
+}
+
+
+SftpDataAvailableSignal::SftpDataAvailableSignal(SftpChannelPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject, SftpJobId jobId,
+    const QString &data)
+    : SftpDelayedSignal(privChannel, checkObject), m_jobId(jobId), m_data(data) {}
+
+void SftpDataAvailableSignal::emitSignal()
+{
+    m_privChannel->emitDataAvailable(m_jobId, m_data);
+}
+
+
+SftpClosedSignal::SftpClosedSignal(SftpChannelPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject)
+    : SftpDelayedSignal(privChannel, checkObject) {}
+
+void SftpClosedSignal::emitSignal()
+{
+    m_privChannel->emitClosed();
+}
+
+
+SshRemoteProcessDelayedSignal::SshRemoteProcessDelayedSignal(SshRemoteProcessPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject)
+    : SshDelayedSignal(checkObject), m_privChannel(privChannel) {}
+
+
+SshRemoteProcessStartedSignal::SshRemoteProcessStartedSignal(SshRemoteProcessPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject)
+    : SshRemoteProcessDelayedSignal(privChannel, checkObject) {}
+
+void SshRemoteProcessStartedSignal::emitSignal()
+{
+    m_privChannel->emitStartedSignal();
+}
+
+
+SshRemoteProcessOutputAvailableSignal::SshRemoteProcessOutputAvailableSignal(SshRemoteProcessPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject, const QByteArray &output)
+    : SshRemoteProcessDelayedSignal(privChannel, checkObject), m_output(output)
+{
+}
+
+void SshRemoteProcessOutputAvailableSignal::emitSignal()
+{
+    m_privChannel->emitOutputAvailableSignal(m_output);
+}
+
+
+SshRemoteProcessErrorOutputAvailableSignal::SshRemoteProcessErrorOutputAvailableSignal(SshRemoteProcessPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject, const QByteArray &output)
+    : SshRemoteProcessDelayedSignal(privChannel, checkObject), m_output(output)
+{
+}
+
+void SshRemoteProcessErrorOutputAvailableSignal::emitSignal()
+{
+    m_privChannel->emitErrorOutputAvailableSignal(m_output);
+}
+
+
+SshRemoteProcessClosedSignal::SshRemoteProcessClosedSignal(SshRemoteProcessPrivate *privChannel,
+    const QWeakPointer<QObject> &checkObject, int exitStatus)
+    : SshRemoteProcessDelayedSignal(privChannel, checkObject),
+      m_exitStatus(exitStatus)
+{
+}
+
+void SshRemoteProcessClosedSignal::emitSignal()
+{
+    m_privChannel->emitClosedSignal(m_exitStatus);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshdelayedsignal_p.h b/src/plugins/coreplugin/ssh/sshdelayedsignal_p.h
new file mode 100644
index 00000000000..09163fb6861
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshdelayedsignal_p.h
@@ -0,0 +1,190 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHDELAYEDSIGNAL_P_H
+#define SSHDELAYEDSIGNAL_P_H
+
+#include "sftpdefs.h"
+
+#include <QtCore/QObject>
+#include <QtCore/QString>
+#include <QtCore/QWeakPointer>
+
+namespace Core {
+namespace Internal {
+class SftpChannelPrivate;
+class SshRemoteProcessPrivate;
+
+class SshDelayedSignal : public QObject
+{
+    Q_OBJECT
+public:
+    SshDelayedSignal(const QWeakPointer<QObject> &checkObject);
+
+private:
+    Q_SLOT void handleTimeout();
+    virtual void emitSignal()=0;
+
+    const QWeakPointer<QObject> m_checkObject;
+};
+
+
+class SftpDelayedSignal : public SshDelayedSignal
+{
+public:
+    SftpDelayedSignal(SftpChannelPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject);
+
+protected:
+    SftpChannelPrivate * const m_privChannel;
+};
+
+class SftpInitializationFailedSignal : public SftpDelayedSignal
+{
+public:
+    SftpInitializationFailedSignal(SftpChannelPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject, const QString &reason);
+
+private:
+    virtual void emitSignal();
+
+    const QString m_reason;
+};
+
+class SftpInitializedSignal : public SftpDelayedSignal
+{
+public:
+    SftpInitializedSignal(SftpChannelPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject);
+
+private:
+    virtual void emitSignal();
+};
+
+class SftpJobFinishedSignal : public SftpDelayedSignal
+{
+public:
+    SftpJobFinishedSignal(SftpChannelPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject, SftpJobId jobId,
+        const QString &error);
+
+private:
+    virtual void emitSignal();
+
+    const SftpJobId m_jobId;
+    const QString m_error;
+};
+
+class SftpDataAvailableSignal : public SftpDelayedSignal
+{
+public:
+    SftpDataAvailableSignal(SftpChannelPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject, SftpJobId jobId,
+        const QString &data);
+
+private:
+    virtual void emitSignal();
+
+    const SftpJobId m_jobId;
+    const QString m_data;
+};
+
+class SftpClosedSignal : public SftpDelayedSignal
+{
+public:
+    SftpClosedSignal(SftpChannelPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject);
+
+private:
+    virtual void emitSignal();
+};
+
+
+class SshRemoteProcessDelayedSignal : public SshDelayedSignal
+{
+public:
+    SshRemoteProcessDelayedSignal(SshRemoteProcessPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject);
+
+protected:
+    SshRemoteProcessPrivate * const m_privChannel;
+};
+
+class SshRemoteProcessStartedSignal : public SshRemoteProcessDelayedSignal
+{
+public:
+    SshRemoteProcessStartedSignal(SshRemoteProcessPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject);
+
+private:
+    virtual void emitSignal();
+};
+
+class SshRemoteProcessOutputAvailableSignal
+    : public SshRemoteProcessDelayedSignal
+{
+public:
+    SshRemoteProcessOutputAvailableSignal(SshRemoteProcessPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject, const QByteArray &output);
+
+private:
+    virtual void emitSignal();
+
+    const QByteArray m_output;
+};
+
+class SshRemoteProcessErrorOutputAvailableSignal
+    : public SshRemoteProcessDelayedSignal
+{
+public:
+    SshRemoteProcessErrorOutputAvailableSignal(SshRemoteProcessPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject, const QByteArray &output);
+
+private:
+    virtual void emitSignal();
+
+    const QByteArray m_output;
+};
+
+class SshRemoteProcessClosedSignal : public SshRemoteProcessDelayedSignal
+{
+public:
+    SshRemoteProcessClosedSignal(SshRemoteProcessPrivate *privChannel,
+        const QWeakPointer<QObject> &checkObject, int exitStatus);
+
+private:
+    virtual void emitSignal();
+
+    const int m_exitStatus;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHDELAYEDSIGNAL_P_H
diff --git a/src/plugins/coreplugin/ssh/ssherrors.h b/src/plugins/coreplugin/ssh/ssherrors.h
new file mode 100644
index 00000000000..01587edfc53
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/ssherrors.h
@@ -0,0 +1,43 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHERRORS_P_H
+#define SSHERRORS_P_H
+
+namespace Core {
+
+enum SshError {
+    SshNoError, SshSocketError, SshTimeoutError, SshProtocolError,
+    SshHostKeyError, SshKeyFileError, SshAuthenticationError,
+    SshClosedByServerError, SshInternalError
+};
+
+} // namespace Core
+
+#endif // SSHERRORS_P_H
diff --git a/src/plugins/coreplugin/ssh/sshexception_p.h b/src/plugins/coreplugin/ssh/sshexception_p.h
new file mode 100644
index 00000000000..6812fabc49e
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshexception_p.h
@@ -0,0 +1,89 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHEXCEPTION_P_H
+#define SSHEXCEPTION_P_H
+
+#include "ssherrors.h"
+
+#include <QtCore/QByteArray>
+#include <QtCore/QCoreApplication>
+#include <QtCore/QString>
+
+namespace Core {
+namespace Internal {
+
+enum SshErrorCode {
+    SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT = 1,
+    SSH_DISCONNECT_PROTOCOL_ERROR = 2,
+    SSH_DISCONNECT_KEY_EXCHANGE_FAILED = 3,
+    SSH_DISCONNECT_RESERVED = 4,
+    SSH_DISCONNECT_MAC_ERROR = 5,
+    SSH_DISCONNECT_COMPRESSION_ERROR = 6,
+    SSH_DISCONNECT_SERVICE_NOT_AVAILABLE = 7,
+    SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED = 8,
+    SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE = 9,
+    SSH_DISCONNECT_CONNECTION_LOST = 10,
+    SSH_DISCONNECT_BY_APPLICATION = 11,
+    SSH_DISCONNECT_TOO_MANY_CONNECTIONS = 12,
+    SSH_DISCONNECT_AUTH_CANCELLED_BY_USER = 13,
+    SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE = 14,
+    SSH_DISCONNECT_ILLEGAL_USER_NAME = 15
+};
+
+#define SSH_TR(string) QCoreApplication::translate("SshConnection", string)
+
+#define SSH_SERVER_EXCEPTION(error, errorString)                              \
+    SshServerException((error), (errorString), SSH_TR(errorString))
+
+struct SshServerException
+{
+    SshServerException(SshErrorCode error, const QByteArray &errorStringServer,
+        const QString &errorStringUser)
+        : error(error), errorStringServer(errorStringServer),
+          errorStringUser(errorStringUser) {}
+
+    const SshErrorCode error;
+    const QByteArray errorStringServer;
+    const QString errorStringUser;
+};
+
+struct SshClientException
+{
+    SshClientException(SshError error, const QString &errorString)
+        : error(error), errorString(errorString) {}
+
+    const SshError error;
+    const QString errorString;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHEXCEPTION_P_H
diff --git a/src/plugins/coreplugin/ssh/sshincomingpacket.cpp b/src/plugins/coreplugin/ssh/sshincomingpacket.cpp
new file mode 100644
index 00000000000..fdc274bbbdb
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshincomingpacket.cpp
@@ -0,0 +1,442 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshincomingpacket_p.h"
+
+#include "sshcapabilities_p.h"
+
+namespace Core {
+namespace Internal {
+
+const QByteArray SshIncomingPacket::ExitStatusType("exit-status");
+const QByteArray SshIncomingPacket::ExitSignalType("exit-signal");
+
+SshIncomingPacket::SshIncomingPacket() : m_serverSeqNr(0) { }
+
+quint32 SshIncomingPacket::cipherBlockSize() const
+{
+    return qMax(m_decrypter.cipherBlockSize(), 8U);
+}
+
+quint32 SshIncomingPacket::macLength() const
+{
+    return m_decrypter.macLength();
+}
+
+void SshIncomingPacket::recreateKeys(const SshKeyExchange &keyExchange)
+{
+    m_decrypter.recreateKeys(keyExchange);
+}
+
+void SshIncomingPacket::reset()
+{
+    clear();
+    m_serverSeqNr = 0;
+    m_decrypter.clearKeys();
+}
+
+void SshIncomingPacket::consumeData(QByteArray &newData)
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("%s: current data size = %d, new data size = %d",
+        Q_FUNC_INFO, m_data.size(), newData.size());
+#endif
+
+    if (isComplete() || newData.isEmpty())
+        return;
+
+    /*
+     * Until we have reached the minimum packet size, we cannot decrypt the
+     * length field.
+     */
+    const quint32 minSize = minPacketSize();
+    if (currentDataSize() < minSize) {
+        const int bytesToTake
+            = qMin<quint32>(minSize - currentDataSize(), newData.size());
+        moveFirstBytes(m_data, newData, bytesToTake);
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("Took %d bytes from new data", bytesToTake);
+#endif
+        if (currentDataSize() < minSize)
+            return;
+    }
+
+    const int bytesToTake
+        = qMin<quint32>(length() + 4 + macLength() - currentDataSize(),
+              newData.size());
+    moveFirstBytes(m_data, newData, bytesToTake);
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Took %d bytes from new data", bytesToTake);
+#endif
+    if (isComplete()) {
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("Message complete. Overall size: %u, payload size: %u",
+            m_data.size(), m_length - paddingLength() - 1);
+#endif
+        decrypt();
+        ++m_serverSeqNr;
+    }
+}
+
+void SshIncomingPacket::decrypt()
+{
+    Q_ASSERT(isComplete());
+    const quint32 netDataLength = length() + 4;
+    m_decrypter.decrypt(m_data, cipherBlockSize(),
+        netDataLength - cipherBlockSize());
+    const QByteArray &mac = m_data.mid(netDataLength, macLength());
+    if (mac != generateMac(m_decrypter, m_serverSeqNr)) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_MAC_ERROR,
+                           "Message authentication failed.");
+    }
+}
+
+void SshIncomingPacket::moveFirstBytes(QByteArray &target, QByteArray &source,
+    int n)
+{
+    target.append(source.left(n));
+    source.remove(0, n);
+}
+
+SshKeyExchangeInit SshIncomingPacket::extractKeyExchangeInitData() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_KEXINIT);
+
+    SshKeyExchangeInit exchangeData;
+    try {
+        quint32 offset = TypeOffset + 1;
+        std::memcpy(exchangeData.cookie, &m_data.constData()[offset],
+                    sizeof exchangeData.cookie);
+        offset += sizeof exchangeData.cookie;
+        exchangeData.keyAlgorithms
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.serverHostKeyAlgorithms
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.encryptionAlgorithmsClientToServer
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.encryptionAlgorithmsServerToClient
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.macAlgorithmsClientToServer
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.macAlgorithmsServerToClient
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.compressionAlgorithmsClientToServer
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.compressionAlgorithmsServerToClient
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.languagesClientToServer
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.languagesServerToClient
+            = SshPacketParser::asNameList(m_data, &offset);
+        exchangeData.firstKexPacketFollows
+            = SshPacketParser::asBool(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_KEY_EXCHANGE_FAILED,
+            "Key exchange failed: Server sent invalid SSH_MSG_KEXINIT packet.");
+    }
+    return exchangeData;
+}
+
+SshKeyExchangeReply SshIncomingPacket::extractKeyExchangeReply(const QByteArray &pubKeyAlgo) const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_KEXDH_REPLY);
+
+    try {
+        SshKeyExchangeReply replyData;
+        quint32 offset = TypeOffset + 1;
+        const quint32 k_sLength
+            = SshPacketParser::asUint32(m_data, &offset);
+        if (offset + k_sLength > currentDataSize())
+            throw SshPacketParseException();
+        replyData.k_s = m_data.mid(offset - 4, k_sLength + 4);
+        if (SshPacketParser::asString(m_data, &offset) != pubKeyAlgo)
+            throw SshPacketParseException();
+
+        // DSS: p and q, RSA: e and n
+        replyData.parameters << SshPacketParser::asBigInt(m_data, &offset);
+        replyData.parameters << SshPacketParser::asBigInt(m_data, &offset);
+
+        // g and y
+        if (pubKeyAlgo == SshCapabilities::PubKeyDss) {
+            replyData.parameters << SshPacketParser::asBigInt(m_data, &offset);
+            replyData.parameters << SshPacketParser::asBigInt(m_data, &offset);
+        }
+
+        replyData.f = SshPacketParser::asBigInt(m_data, &offset);
+        offset += 4;
+        if (SshPacketParser::asString(m_data, &offset) != pubKeyAlgo)
+            throw SshPacketParseException();
+        replyData.signatureBlob = SshPacketParser::asString(m_data, &offset);
+        return replyData;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_KEY_EXCHANGE_FAILED,
+            "Key exchange failed: "
+            "Server sent invalid SSH_MSG_KEXDH_REPLY packet.");
+    }
+}
+
+SshDisconnect SshIncomingPacket::extractDisconnect() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_DISCONNECT);
+
+    SshDisconnect msg;
+    try {
+        quint32 offset = TypeOffset + 1;
+        msg.reasonCode = SshPacketParser::asUint32(m_data, &offset);
+        msg.description = SshPacketParser::asUserString(m_data, &offset);
+        msg.language = SshPacketParser::asString(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_DISCONNECT.");
+    }
+
+    return msg;
+}
+
+SshUserAuthBanner SshIncomingPacket::extractUserAuthBanner() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_USERAUTH_BANNER);
+
+    try {
+        SshUserAuthBanner msg;
+        quint32 offset = TypeOffset + 1;
+        msg.message = SshPacketParser::asUserString(m_data, &offset);
+        msg.language = SshPacketParser::asString(m_data, &offset);
+        return msg;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_USERAUTH_BANNER.");
+    }
+}
+
+SshDebug SshIncomingPacket::extractDebug() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_DEBUG);
+
+    try {
+        SshDebug msg;
+        quint32 offset = TypeOffset + 1;
+        msg.display = SshPacketParser::asBool(m_data, &offset);
+        msg.message = SshPacketParser::asUserString(m_data, &offset);
+        msg.language = SshPacketParser::asString(m_data, &offset);
+        return msg;
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_USERAUTH_BANNER.");
+    }
+}
+
+SshChannelOpenFailure SshIncomingPacket::extractChannelOpenFailure() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_OPEN_FAILURE);
+
+    SshChannelOpenFailure openFailure;
+    try {
+        quint32 offset = TypeOffset + 1;
+        openFailure.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        openFailure.reasonCode = SshPacketParser::asUint32(m_data, &offset);
+        openFailure.reasonString = SshPacketParser::asString(m_data, &offset);
+        openFailure.language = SshPacketParser::asString(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Server sent invalid SSH_MSG_CHANNEL_OPEN_FAILURE packet.");
+    }
+    return openFailure;
+}
+
+SshChannelOpenConfirmation SshIncomingPacket::extractChannelOpenConfirmation() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_OPEN_CONFIRMATION);
+
+    SshChannelOpenConfirmation confirmation;
+    try {
+        quint32 offset = TypeOffset + 1;
+        confirmation.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        confirmation.remoteChannel = SshPacketParser::asUint32(m_data, &offset);
+        confirmation.remoteWindowSize = SshPacketParser::asUint32(m_data, &offset);
+        confirmation.remoteMaxPacketSize = SshPacketParser::asUint32(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Server sent invalid SSH_MSG_CHANNEL_OPEN_CONFIRMATION packet.");
+    }
+    return confirmation;
+}
+
+SshChannelWindowAdjust SshIncomingPacket::extractWindowAdjust() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_WINDOW_ADJUST);
+
+    SshChannelWindowAdjust adjust;
+    try {
+        quint32 offset = TypeOffset + 1;
+        adjust.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        adjust.bytesToAdd = SshPacketParser::asUint32(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_CHANNEL_WINDOW_ADJUST packet.");
+    }
+    return adjust;
+}
+
+SshChannelData SshIncomingPacket::extractChannelData() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_DATA);
+
+    SshChannelData data;
+    try {
+        quint32 offset = TypeOffset + 1;
+        data.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        data.data = SshPacketParser::asString(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_CHANNEL_DATA packet.");
+    }
+    return data;
+}
+
+SshChannelExtendedData SshIncomingPacket::extractChannelExtendedData() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_EXTENDED_DATA);
+
+    SshChannelExtendedData data;
+    try {
+        quint32 offset = TypeOffset + 1;
+        data.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        data.type = SshPacketParser::asUint32(m_data, &offset);
+        data.data = SshPacketParser::asString(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_CHANNEL_EXTENDED_DATA packet.");
+    }
+    return data;
+}
+
+SshChannelExitStatus SshIncomingPacket::extractChannelExitStatus() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_REQUEST);
+
+    SshChannelExitStatus exitStatus;
+    try {
+        quint32 offset = TypeOffset + 1;
+        exitStatus.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        const QByteArray &type = SshPacketParser::asString(m_data, &offset);
+        Q_ASSERT(type == ExitStatusType);
+        if (SshPacketParser::asBool(m_data, &offset))
+            throw SshPacketParseException();
+        exitStatus.exitStatus = SshPacketParser::asUint32(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid exit-status packet.");
+    }
+    return exitStatus;
+}
+
+SshChannelExitSignal SshIncomingPacket::extractChannelExitSignal() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_REQUEST);
+
+    SshChannelExitSignal exitSignal;
+    try {
+        quint32 offset = TypeOffset + 1;
+        exitSignal.localChannel = SshPacketParser::asUint32(m_data, &offset);
+        const QByteArray &type = SshPacketParser::asString(m_data, &offset);
+        Q_ASSERT(type == ExitSignalType);
+        if (SshPacketParser::asBool(m_data, &offset))
+            throw SshPacketParseException();
+        exitSignal.signal = SshPacketParser::asString(m_data, &offset);
+        exitSignal.coreDumped = SshPacketParser::asBool(m_data, &offset);
+        exitSignal.error = SshPacketParser::asUserString(m_data, &offset);
+        exitSignal.language = SshPacketParser::asString(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid exit-signal packet.");
+    }
+    return exitSignal;
+}
+
+quint32 SshIncomingPacket::extractRecipientChannel() const
+{
+    Q_ASSERT(isComplete());
+
+    try {
+        quint32 offset = TypeOffset + 1;
+        return SshPacketParser::asUint32(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Server sent invalid packet.");
+    }
+}
+
+QByteArray SshIncomingPacket::extractChannelRequestType() const
+{
+    Q_ASSERT(isComplete());
+    Q_ASSERT(type() == SSH_MSG_CHANNEL_REQUEST);
+
+    try {
+        quint32 offset = TypeOffset + 1;
+        SshPacketParser::asUint32(m_data, &offset);
+        return SshPacketParser::asString(m_data, &offset);
+    } catch (SshPacketParseException &) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Invalid SSH_MSG_CHANNEL_REQUEST packet.");
+    }
+}
+
+void SshIncomingPacket::calculateLength() const
+{
+    Q_ASSERT(currentDataSize() >= minPacketSize());
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Length field before decryption: %d-%d-%d-%d", m_data.at(0) & 0xff,
+        m_data.at(1) & 0xff, m_data.at(2) & 0xff, m_data.at(3) & 0xff);
+#endif
+    m_decrypter.decrypt(m_data, 0, cipherBlockSize());
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Length field after decryption: %d-%d-%d-%d", m_data.at(0) & 0xff, m_data.at(1) & 0xff, m_data.at(2) & 0xff, m_data.at(3) & 0xff);
+    qDebug("message type = %d", m_data.at(TypeOffset));
+#endif
+    m_length = SshPacketParser::asUint32(m_data, static_cast<quint32>(0));
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("decrypted length is %u", m_length);
+#endif
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshincomingpacket_p.h b/src/plugins/coreplugin/ssh/sshincomingpacket_p.h
new file mode 100644
index 00000000000..9b10c8f7998
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshincomingpacket_p.h
@@ -0,0 +1,186 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHINCOMINGPACKET_P_H
+#define SSHINCOMINGPACKET_P_H
+
+#include "sshpacket_p.h"
+
+#include "sshcryptofacility_p.h"
+#include "sshpacketparser_p.h"
+
+#include <QtCore/QList>
+#include <QtCore/QString>
+
+namespace Core {
+namespace Internal {
+
+class SshKeyExchange;
+
+struct SshKeyExchangeInit
+{
+    char cookie[16];
+    SshNameList keyAlgorithms;
+    SshNameList serverHostKeyAlgorithms;
+    SshNameList encryptionAlgorithmsClientToServer;
+    SshNameList encryptionAlgorithmsServerToClient;
+    SshNameList macAlgorithmsClientToServer;
+    SshNameList macAlgorithmsServerToClient;
+    SshNameList compressionAlgorithmsClientToServer;
+    SshNameList compressionAlgorithmsServerToClient;
+    SshNameList languagesClientToServer;
+    SshNameList languagesServerToClient;
+    bool firstKexPacketFollows;
+};
+
+struct SshKeyExchangeReply
+{
+    QByteArray k_s;
+    QList<Botan::BigInt> parameters; // DSS: p, q, g, y. RSA: e, n.
+    Botan::BigInt f;
+    QByteArray signatureBlob;
+};
+
+struct SshDisconnect
+{
+    quint32 reasonCode;
+    QString description;
+    QByteArray language;
+};
+
+struct SshUserAuthBanner
+{
+    QString message;
+    QByteArray language;
+};
+
+struct SshDebug
+{
+    bool display;
+    QString message;
+    QByteArray language;
+};
+
+struct SshChannelOpenFailure
+{
+    quint32 localChannel;
+    quint32 reasonCode;
+    QString reasonString;
+    QByteArray language;
+};
+
+struct SshChannelOpenConfirmation
+{
+    quint32 localChannel;
+    quint32 remoteChannel;
+    quint32 remoteWindowSize;
+    quint32 remoteMaxPacketSize;
+};
+
+struct SshChannelWindowAdjust
+{
+    quint32 localChannel;
+    quint32 bytesToAdd;
+};
+
+struct SshChannelData
+{
+    quint32 localChannel;
+    QByteArray data;
+};
+
+struct SshChannelExtendedData
+{
+    quint32 localChannel;
+    quint32 type;
+    QByteArray data;
+};
+
+struct SshChannelExitStatus
+{
+    quint32 localChannel;
+    quint32 exitStatus;
+};
+
+struct SshChannelExitSignal
+{
+    quint32 localChannel;
+    QByteArray signal;
+    bool coreDumped;
+    QString error;
+    QByteArray language;
+};
+
+
+class SshIncomingPacket : public AbstractSshPacket
+{
+public:
+    SshIncomingPacket();
+
+    void consumeData(QByteArray &data);
+    void recreateKeys(const SshKeyExchange &keyExchange);
+    void reset();
+
+    SshKeyExchangeInit extractKeyExchangeInitData() const;
+    SshKeyExchangeReply extractKeyExchangeReply(const QByteArray &pubKeyAlgo) const;
+    SshDisconnect extractDisconnect() const;
+    SshUserAuthBanner extractUserAuthBanner() const;
+    SshDebug extractDebug() const;
+
+    SshChannelOpenFailure extractChannelOpenFailure() const;
+    SshChannelOpenConfirmation extractChannelOpenConfirmation() const;
+    SshChannelWindowAdjust extractWindowAdjust() const;
+    SshChannelData extractChannelData() const;
+    SshChannelExtendedData extractChannelExtendedData() const;
+    SshChannelExitStatus extractChannelExitStatus() const;
+    SshChannelExitSignal extractChannelExitSignal() const;
+    quint32 extractRecipientChannel() const;
+    QByteArray extractChannelRequestType() const;
+
+    quint32 serverSeqNr() const { return m_serverSeqNr; }
+
+    static const QByteArray ExitStatusType;
+    static const QByteArray ExitSignalType;
+
+private:
+    virtual quint32 cipherBlockSize() const;
+    virtual quint32 macLength() const;
+    virtual void calculateLength() const;
+
+    void decrypt();
+    void moveFirstBytes(QByteArray &target, QByteArray &source, int n);
+
+    quint32 m_serverSeqNr;
+    SshDecryptionFacility m_decrypter;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHINCOMINGPACKET_P_H
diff --git a/src/plugins/coreplugin/ssh/sshkeyexchange.cpp b/src/plugins/coreplugin/ssh/sshkeyexchange.cpp
new file mode 100644
index 00000000000..7875d2ecd07
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshkeyexchange.cpp
@@ -0,0 +1,197 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshkeyexchange_p.h"
+
+#include "sshbotanconversions_p.h"
+#include "sshcapabilities_p.h"
+#include "sshsendfacility_p.h"
+#include "sshexception_p.h"
+#include "sshincomingpacket_p.h"
+
+#include <botan/botan.h>
+#include <botan/dsa.h>
+#include <botan/look_pk.h>
+#include <botan/pubkey.h>
+#include <botan/rsa.h>
+
+#include <string>
+
+using namespace Botan;
+
+namespace Core {
+namespace Internal {
+
+namespace {
+
+    // For debugging
+    void printNameList(const char *listName, const SshNameList &list)
+    {
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("%s:", listName);
+        foreach (const QByteArray &name, list.names)
+            qDebug("%s", name.constData());
+#else
+        Q_UNUSED(listName);
+        Q_UNUSED(list);
+#endif
+    }
+} // anonymous namespace
+
+SshKeyExchange::SshKeyExchange(SshSendFacility &sendFacility)
+    : m_sendFacility(sendFacility)
+{
+}
+
+SshKeyExchange::~SshKeyExchange() {}
+
+void SshKeyExchange::sendKexInitPacket(const QByteArray &serverId)
+{
+    m_serverId = serverId;
+    const AbstractSshPacket::Payload &payload
+        = m_sendFacility.sendKeyExchangeInitPacket();
+    m_clientKexInitPayload = QByteArray(payload.data, payload.size);
+}
+
+bool SshKeyExchange::sendDhInitPacket(const SshIncomingPacket &serverKexInit)
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("server requests key exchange");
+#endif
+    serverKexInit.printRawBytes();
+    SshKeyExchangeInit kexInitParams
+            = serverKexInit.extractKeyExchangeInitData();
+
+    printNameList("Key Algorithms", kexInitParams.keyAlgorithms);
+    printNameList("Server Host Key Algorithms", kexInitParams.serverHostKeyAlgorithms);
+    printNameList("Encryption algorithms client to server", kexInitParams.encryptionAlgorithmsClientToServer);
+    printNameList("Encryption algorithms server to client", kexInitParams.encryptionAlgorithmsServerToClient);
+    printNameList("MAC algorithms client to server", kexInitParams.macAlgorithmsClientToServer);
+    printNameList("MAC algorithms server to client", kexInitParams.macAlgorithmsServerToClient);
+    printNameList("Compression algorithms client to server", kexInitParams.compressionAlgorithmsClientToServer);
+    printNameList("Compression algorithms client to server", kexInitParams.compressionAlgorithmsClientToServer);
+    printNameList("Languages client to server", kexInitParams.languagesClientToServer);
+    printNameList("Languages server to client", kexInitParams.languagesServerToClient);
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("First packet follows: %d", kexInitParams.firstKexPacketFollows);
+#endif
+
+    const QByteArray &keyAlgo
+        = SshCapabilities::findBestMatch(SshCapabilities::KeyExchangeMethods,
+              kexInitParams.keyAlgorithms.names);
+    m_serverHostKeyAlgo
+        = SshCapabilities::findBestMatch(SshCapabilities::PublicKeyAlgorithms,
+              kexInitParams.serverHostKeyAlgorithms.names);
+    m_encryptionAlgo
+        = SshCapabilities::findBestMatch(SshCapabilities::EncryptionAlgorithms,
+              kexInitParams.encryptionAlgorithmsClientToServer.names);
+    m_decryptionAlgo
+        = SshCapabilities::findBestMatch(SshCapabilities::EncryptionAlgorithms,
+              kexInitParams.encryptionAlgorithmsServerToClient.names);
+    m_c2sHMacAlgo
+        = SshCapabilities::findBestMatch(SshCapabilities::MacAlgorithms,
+              kexInitParams.macAlgorithmsClientToServer.names);
+    m_s2cHMacAlgo
+        = SshCapabilities::findBestMatch(SshCapabilities::MacAlgorithms,
+              kexInitParams.macAlgorithmsServerToClient.names);
+    SshCapabilities::findBestMatch(SshCapabilities::CompressionAlgorithms,
+        kexInitParams.compressionAlgorithmsClientToServer.names);
+    SshCapabilities::findBestMatch(SshCapabilities::CompressionAlgorithms,
+        kexInitParams.compressionAlgorithmsServerToClient.names);
+
+    AutoSeeded_RNG rng;
+    m_dhKey.reset(new DH_PrivateKey(rng,
+        DL_Group(botanKeyExchangeAlgoName(keyAlgo))));
+
+    const AbstractSshPacket::Payload &payload = serverKexInit.payLoad();
+    m_serverKexInitPayload = QByteArray(payload.data, payload.size);
+    m_sendFacility.sendKeyDhInitPacket(m_dhKey->get_y());
+    return kexInitParams.firstKexPacketFollows;
+}
+
+void SshKeyExchange::sendNewKeysPacket(const SshIncomingPacket &dhReply,
+    const QByteArray &clientId)
+{
+    const SshKeyExchangeReply &reply
+        = dhReply.extractKeyExchangeReply(m_serverHostKeyAlgo);
+    if (reply.f <= 0 || reply.f >= m_dhKey->group_p()) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_KEY_EXCHANGE_FAILED,
+            "Server sent invalid f.");
+    }
+
+    QByteArray concatenatedData = AbstractSshPacket::encodeString(clientId);
+    concatenatedData += AbstractSshPacket::encodeString(m_serverId);
+    concatenatedData += AbstractSshPacket::encodeString(m_clientKexInitPayload);
+    concatenatedData += AbstractSshPacket::encodeString(m_serverKexInitPayload);
+    concatenatedData += reply.k_s;
+    concatenatedData += AbstractSshPacket::encodeMpInt(m_dhKey->get_y());
+    concatenatedData += AbstractSshPacket::encodeMpInt(reply.f);
+    SymmetricKey k = m_dhKey->derive_key(reply.f);
+    m_k = AbstractSshPacket::encodeMpInt(BigInt(k.begin(), k.length()));
+    concatenatedData += m_k;
+
+    m_hash.reset(get_hash(botanSha1Name()));
+    const SecureVector<byte> &hashResult
+        = m_hash->process(convertByteArray(concatenatedData),
+                        concatenatedData.size());
+    m_h = convertByteArray(hashResult);
+
+    QScopedPointer<Public_Key> sigKey;
+    QScopedPointer<PK_Verifier> verifier;
+    if (m_serverHostKeyAlgo == SshCapabilities::PubKeyDss) {
+        const DL_Group group(reply.parameters.at(0), reply.parameters.at(1),
+            reply.parameters.at(2));
+        DSA_PublicKey * const dsaKey
+            = new DSA_PublicKey(group, reply.parameters.at(3));
+        sigKey.reset(dsaKey);
+        verifier.reset(get_pk_verifier(*dsaKey,
+            botanEmsaAlgoName(SshCapabilities::PubKeyDss)));
+    } else if (m_serverHostKeyAlgo == SshCapabilities::PubKeyRsa) {
+        RSA_PublicKey * const rsaKey
+            = new RSA_PublicKey(reply.parameters.at(1), reply.parameters.at(0));
+        sigKey.reset(rsaKey);
+        verifier.reset(get_pk_verifier(*rsaKey,
+            botanEmsaAlgoName(SshCapabilities::PubKeyRsa)));
+    } else {
+        Q_ASSERT(!"Impossible: Neither DSS nor RSA!");
+    }
+    const byte * const botanH = convertByteArray(m_h);
+    const Botan::byte * const botanSig
+        = convertByteArray(reply.signatureBlob);
+    if (!verifier->verify_message(botanH, m_h.size(), botanSig,
+        reply.signatureBlob.size())) {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_KEY_EXCHANGE_FAILED,
+            "Invalid signature in SSH_MSG_KEXDH_REPLY packet.");
+    }
+
+    m_sendFacility.sendNewKeysPacket();
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshkeyexchange_p.h b/src/plugins/coreplugin/ssh/sshkeyexchange_p.h
new file mode 100644
index 00000000000..076f5bedd6e
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshkeyexchange_p.h
@@ -0,0 +1,87 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHKEYEXCHANGE_P_H
+#define SSHKEYEXCHANGE_P_H
+
+#include <botan/dh.h>
+
+#include <QtCore/QByteArray>
+#include <QtCore/QScopedPointer>
+
+namespace Botan { class HashFunction; }
+
+namespace Core {
+namespace Internal {
+
+class SshSendFacility;
+class SshIncomingPacket;
+
+class SshKeyExchange
+{
+public:
+    SshKeyExchange(SshSendFacility &sendFacility);
+    ~SshKeyExchange();
+
+    void sendKexInitPacket(const QByteArray &serverId);
+
+    // Returns true <=> the server sends a guessed package.
+    bool sendDhInitPacket(const SshIncomingPacket &serverKexInit);
+
+    void sendNewKeysPacket(const SshIncomingPacket &dhReply,
+        const QByteArray &clientId);
+
+    QByteArray k() const { return m_k; }
+    QByteArray h() const { return m_h; }
+    Botan::HashFunction *hash() const { return m_hash.data(); }
+    QByteArray encryptionAlgo() const { return m_encryptionAlgo; }
+    QByteArray decryptionAlgo() const { return m_decryptionAlgo; }
+    QByteArray hMacAlgoClientToServer() const { return m_c2sHMacAlgo; }
+    QByteArray hMacAlgoServerToClient() const { return m_s2cHMacAlgo; }
+
+private:
+    QByteArray m_serverId;
+    QByteArray m_clientKexInitPayload;
+    QByteArray m_serverKexInitPayload;
+    QScopedPointer<Botan::DH_PrivateKey> m_dhKey;
+    QByteArray m_k;
+    QByteArray m_h;
+    QByteArray m_serverHostKeyAlgo;
+    QByteArray m_encryptionAlgo;
+    QByteArray m_decryptionAlgo;
+    QByteArray m_c2sHMacAlgo;
+    QByteArray m_s2cHMacAlgo;
+    QScopedPointer<Botan::HashFunction> m_hash;
+    SshSendFacility &m_sendFacility;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHKEYEXCHANGE_P_H
diff --git a/src/plugins/coreplugin/ssh/sshkeygenerator.cpp b/src/plugins/coreplugin/ssh/sshkeygenerator.cpp
index 17a63886e31..976d0094c78 100644
--- a/src/plugins/coreplugin/ssh/sshkeygenerator.cpp
+++ b/src/plugins/coreplugin/ssh/sshkeygenerator.cpp
@@ -1,55 +1,138 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
 #include "sshkeygenerator.h"
 
-#include "ne7sshobject.h"
+#include "sshbotanconversions_p.h"
+#include "sshcapabilities_p.h"
+#include "sshpacket_p.h"
 
-#include <QtCore/QFile>
-#include <QtCore/QTemporaryFile>
+#include <botan/auto_rng.h>
+#include <botan/bigint.h>
+#include <botan/der_enc.h>
+#include <botan/dsa.h>
+#include <botan/pem.h>
+#include <botan/pkcs8.h>
+#include <botan/rsa.h>
+#include <botan/x509_key.h>
 
-#include <ne7ssh.h>
+#include <QtCore/QDateTime>
 
 namespace Core {
 
-SshKeyGenerator::SshKeyGenerator()
-{
-}
+using namespace Botan;
+using namespace Internal;
 
-bool SshKeyGenerator::generateKeys(KeyType type, const QString &id, int keySize)
+SshKeyGenerator::SshKeyGenerator() { }
+
+bool SshKeyGenerator::generateKeys(KeyType type, PrivateKeyFormat format,
+    int keySize)
 {
-    QTemporaryFile tmpPubKeyFile;
-    QTemporaryFile tmpPrivKeyFile;
-    if (!tmpPubKeyFile.open() || !tmpPrivKeyFile.open()) {
-        m_error = tr("Error creating temporary files.");
-        return false;
-    }
-    tmpPubKeyFile.setAutoRemove(false);
-    tmpPubKeyFile.close();
-    tmpPrivKeyFile.close();
-    const char * const typeStr = type == Rsa ? "rsa" : "dsa";
-    Internal::Ne7SshObject::Ptr ne7Object
-        = Internal::Ne7SshObject::instance()->get();
-    if (!ne7Object->generateKeyPair(typeStr, id.toUtf8(),
-             tmpPrivKeyFile.fileName().toUtf8(),
-             tmpPubKeyFile.fileName().toUtf8(), keySize)) {
-        // TODO: Race condition on pop() call. Perhaps not use Net7 errors? Or hack API
-        m_error = tr("Error generating keys: %1")
-                  .arg(ne7Object->errors()->pop());
+    try {
+        AutoSeeded_RNG rng;
+        KeyPtr key;
+        if (type == Rsa)
+            key = KeyPtr(new RSA_PrivateKey(rng, keySize));
+        else
+            key = KeyPtr(new DSA_PrivateKey(rng, DL_Group(rng, DL_Group::Strong,
+                keySize)));
+        return format == Pkcs8
+            ? generatePkcs8Keys(key) : generateOpenSslKeys(key, type);
+    } catch (Botan::Exception &e) {
+        m_error = tr("Error generating key: %1").arg(e.what());
         return false;
     }
+}
 
-    if (!tmpPubKeyFile.open() || !tmpPrivKeyFile.open()) {
-        m_error = tr("Error reading temporary files.");
-        return false;
+bool SshKeyGenerator::generatePkcs8Keys(const KeyPtr &key)
+{
+    generatePkcs8Key(key, false);
+    generatePkcs8Key(key, true);
+    return true;
+}
+
+void SshKeyGenerator::generatePkcs8Key(const KeyPtr &key, bool privateKey)
+{
+    Pipe pipe;
+    pipe.start_msg();
+    QByteArray *keyData;
+    if (privateKey) {
+        PKCS8::encode(*key, pipe);
+        keyData = &m_privateKey;
+    } else {
+        X509::encode(*key, pipe);
+        keyData = &m_publicKey;
     }
+    pipe.end_msg();
+    keyData->resize(pipe.remaining(pipe.message_count() - 1));
+    pipe.read(convertByteArray(*keyData), keyData->size(),
+        pipe.message_count() - 1);
+}
 
-    m_publicKey = tmpPubKeyFile.readAll();
-    m_privateKey = tmpPrivKeyFile.readAll();
-    if (tmpPubKeyFile.error() != QFile::NoError
-        || tmpPrivKeyFile.error() != QFile::NoError) {
-        m_error = tr("Error reading temporary files.");
-        return false;
+bool SshKeyGenerator::generateOpenSslKeys(const KeyPtr &key, KeyType type)
+{
+    QList<BigInt> publicParams;
+    QList<BigInt> allParams;
+    QByteArray keyId;
+    if (type == Rsa) {
+        const QSharedPointer<RSA_PrivateKey> rsaKey
+            = key.dynamicCast<RSA_PrivateKey>();
+        publicParams << rsaKey->get_e() << rsaKey->get_n();
+        allParams << rsaKey->get_n() << rsaKey->get_e() << rsaKey->get_d()
+            << rsaKey->get_p() << rsaKey->get_q();
+        keyId = SshCapabilities::PubKeyRsa;
+    } else {
+        const QSharedPointer<DSA_PrivateKey> dsaKey
+            = key.dynamicCast<DSA_PrivateKey>();
+        publicParams << dsaKey->group_p() << dsaKey->group_q()
+            << dsaKey->group_g() << dsaKey->get_y();
+        allParams << publicParams << dsaKey->get_x();
+        keyId = SshCapabilities::PubKeyDss;
     }
 
-    m_type = type;
+    QByteArray publicKeyBlob = AbstractSshPacket::encodeString(keyId);
+    foreach (const BigInt &b, publicParams)
+        publicKeyBlob += AbstractSshPacket::encodeMpInt(b);
+    publicKeyBlob = publicKeyBlob.toBase64();
+    const QByteArray id = "QtCreator/"
+        + QDateTime::currentDateTime().toString(Qt::ISODate).toUtf8();
+    m_publicKey = keyId + ' ' + publicKeyBlob + ' ' + id;
+
+    DER_Encoder encoder;
+    encoder.start_cons(SEQUENCE).encode (0U);
+    foreach (const BigInt &b, allParams)
+        encoder.encode(b);
+    encoder.end_cons();
+    const char * const label
+        = type == Rsa ? "RSA PRIVATE KEY" : "DSA PRIVATE KEY";
+    m_privateKey
+        = QByteArray(PEM_Code::encode (encoder.get_contents(), label).c_str());
     return true;
 }
 
diff --git a/src/plugins/coreplugin/ssh/sshkeygenerator.h b/src/plugins/coreplugin/ssh/sshkeygenerator.h
index a68237e576f..ada06150a04 100644
--- a/src/plugins/coreplugin/ssh/sshkeygenerator.h
+++ b/src/plugins/coreplugin/ssh/sshkeygenerator.h
@@ -1,10 +1,43 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
 #ifndef SSHKEYGENERATOR_H
 #define SSHKEYGENERATOR_H
 
 #include <coreplugin/core_global.h>
 
 #include <QtCore/QCoreApplication>
-#include <QtCore/QPair>
+#include <QtCore/QSharedPointer>
+
+namespace Botan {
+    class Private_Key;
+}
 
 namespace Core {
 
@@ -13,19 +46,28 @@ class CORE_EXPORT SshKeyGenerator
     Q_DECLARE_TR_FUNCTIONS(SshKeyGenerator)
 public:
     enum KeyType { Rsa, Dsa };
+    enum PrivateKeyFormat { Pkcs8, OpenSsl };
 
     SshKeyGenerator();
-    bool generateKeys(KeyType type, const QString &id, int keySize);
+    bool generateKeys(KeyType type, PrivateKeyFormat format, int keySize);
     QString error() const { return m_error; }
-    QString privateKey() const { return m_privateKey; }
-    QString publicKey() const { return m_publicKey; }
+    QByteArray privateKey() const { return m_privateKey; }
+    QByteArray publicKey() const { return m_publicKey; }
     KeyType type() const { return m_type; }
+    PrivateKeyFormat format() const { return m_format; }
 
 private:
+    typedef QSharedPointer<Botan::Private_Key> KeyPtr;
+
+    bool generatePkcs8Keys(const KeyPtr &key);
+    void generatePkcs8Key(const KeyPtr &key, bool privateKey);
+    bool generateOpenSslKeys(const KeyPtr &key, KeyType type);
+
     QString m_error;
-    QString m_publicKey;
-    QString m_privateKey;
+    QByteArray m_publicKey;
+    QByteArray m_privateKey;
     KeyType m_type;
+    PrivateKeyFormat m_format;
 };
 
 } // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshoutgoingpacket.cpp b/src/plugins/coreplugin/ssh/sshoutgoingpacket.cpp
new file mode 100644
index 00000000000..c6cf99443d4
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshoutgoingpacket.cpp
@@ -0,0 +1,284 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshoutgoingpacket_p.h"
+
+#include "sshcapabilities_p.h"
+#include "sshcryptofacility_p.h"
+
+#include <QtCore/QtEndian>
+
+namespace Core {
+namespace Internal {
+
+SshOutgoingPacket::SshOutgoingPacket(const SshEncryptionFacility &encrypter,
+    const quint32 &seqNr) : m_encrypter(encrypter), m_seqNr(seqNr)
+{
+}
+
+quint32 SshOutgoingPacket::cipherBlockSize() const
+{
+    return qMax(m_encrypter.cipherBlockSize(), 4U);
+}
+
+quint32 SshOutgoingPacket::macLength() const
+{
+    return m_encrypter.macLength();
+}
+
+void SshOutgoingPacket::generateKeyExchangeInitPacket()
+{
+    const QByteArray &supportedkeyExchangeMethods
+        = encodeNameList(SshCapabilities::KeyExchangeMethods);
+    const QByteArray &supportedPublicKeyAlgorithms
+        = encodeNameList(SshCapabilities::PublicKeyAlgorithms);
+    const QByteArray &supportedEncryptionAlgorithms
+        = encodeNameList(SshCapabilities::EncryptionAlgorithms);
+    const QByteArray &supportedMacAlgorithms
+        = encodeNameList(SshCapabilities::MacAlgorithms);
+    const QByteArray &supportedCompressionAlgorithms
+        = encodeNameList(SshCapabilities::CompressionAlgorithms);
+    const QByteArray &supportedLanguages = encodeNameList(QList<QByteArray>());
+
+    init(SSH_MSG_KEXINIT);
+    m_data += m_encrypter.getRandomNumbers(16);
+    m_data.append(supportedkeyExchangeMethods);
+    m_data.append(supportedPublicKeyAlgorithms);
+    m_data.append(supportedEncryptionAlgorithms)
+        .append(supportedEncryptionAlgorithms);
+    m_data.append(supportedMacAlgorithms).append(supportedMacAlgorithms);
+    m_data.append(supportedCompressionAlgorithms)
+        .append(supportedCompressionAlgorithms);
+    m_data.append(supportedLanguages).append(supportedLanguages);
+    appendBool(false); // No guessed packet.
+    m_data.append(QByteArray(4, 0)); // Reserved.
+    finalize();
+}
+
+void SshOutgoingPacket::generateKeyDhInitPacket(const Botan::BigInt &e)
+{
+    init(SSH_MSG_KEXDH_INIT).appendMpInt(e).finalize();
+}
+
+void SshOutgoingPacket::generateNewKeysPacket()
+{
+    init(SSH_MSG_NEWKEYS).finalize();
+}
+
+void SshOutgoingPacket::generateUserAuthServiceRequestPacket()
+{
+    generateServiceRequest("ssh-userauth");
+}
+
+void SshOutgoingPacket::generateServiceRequest(const QByteArray &service)
+{
+    init(SSH_MSG_SERVICE_REQUEST).appendString(service).finalize();
+}
+
+void SshOutgoingPacket::generateUserAuthByPwdRequestPacket(const QByteArray &user,
+    const QByteArray &service, const QByteArray &pwd)
+{
+    init(SSH_MSG_USERAUTH_REQUEST).appendString(user).appendString(service)
+        .appendString("password").appendBool(false).appendString(pwd)
+        .finalize();
+}
+
+void SshOutgoingPacket::generateUserAuthByKeyRequestPacket(const QByteArray &user,
+    const QByteArray &service)
+{
+    init(SSH_MSG_USERAUTH_REQUEST).appendString(user).appendString(service)
+        .appendString("publickey").appendBool(true)
+        .appendString(m_encrypter.authenticationAlgorithmName())
+        .appendString(m_encrypter.authenticationPublicKey());
+    const QByteArray &dataToSign = m_data.mid(PayloadOffset);
+    appendString(m_encrypter.authenticationKeySignature(dataToSign));
+    finalize();
+}
+
+void SshOutgoingPacket::generateRequestFailurePacket()
+{
+    init(SSH_MSG_REQUEST_FAILURE).finalize();
+}
+
+void SshOutgoingPacket::generateSessionPacket(quint32 channelId,
+    quint32 windowSize, quint32 maxPacketSize)
+{
+    init(SSH_MSG_CHANNEL_OPEN).appendString("session").appendInt(channelId)
+        .appendInt(windowSize).appendInt(maxPacketSize).finalize();
+}
+
+void SshOutgoingPacket::generateEnvPacket(quint32 remoteChannel,
+    const QByteArray &var, const QByteArray &value)
+{
+    init(SSH_MSG_CHANNEL_REQUEST).appendInt(remoteChannel).appendString("env")
+        .appendBool(false).appendString(var).appendString(value);
+}
+
+void SshOutgoingPacket::generateExecPacket(quint32 remoteChannel,
+    const QByteArray &command)
+{
+    init(SSH_MSG_CHANNEL_REQUEST).appendInt(remoteChannel).appendString("exec")
+        .appendBool(true).appendString(command).finalize();
+}
+
+void SshOutgoingPacket::generateSftpPacket(quint32 remoteChannel)
+{
+    init(SSH_MSG_CHANNEL_REQUEST).appendInt(remoteChannel)
+        .appendString("subsystem").appendBool(true).appendString("sftp")
+        .finalize();
+}
+
+void SshOutgoingPacket::generateWindowAdjustPacket(quint32 remoteChannel,
+    quint32 bytesToAdd)
+{
+    init(SSH_MSG_CHANNEL_WINDOW_ADJUST).appendInt(remoteChannel)
+        .appendInt(bytesToAdd).finalize();
+}
+
+void SshOutgoingPacket::generateChannelDataPacket(quint32 remoteChannel,
+    const QByteArray &data)
+{
+    init(SSH_MSG_CHANNEL_DATA).appendInt(remoteChannel).appendString(data)
+        .finalize();
+}
+
+void SshOutgoingPacket::generateChannelSignalPacket(quint32 remoteChannel,
+    const QByteArray &signalName)
+{
+    init(SSH_MSG_CHANNEL_REQUEST).appendInt(remoteChannel)
+        .appendString("signal").appendBool(false).appendString(signalName)
+        .finalize();
+}
+
+void SshOutgoingPacket::generateChannelEofPacket(quint32 remoteChannel)
+{
+    init(SSH_MSG_CHANNEL_EOF).appendInt(remoteChannel).finalize();
+}
+
+void SshOutgoingPacket::generateChannelClosePacket(quint32 remoteChannel)
+{
+    init(SSH_MSG_CHANNEL_CLOSE).appendInt(remoteChannel).finalize();
+}
+
+void SshOutgoingPacket::generateDisconnectPacket(SshErrorCode reason,
+    const QByteArray &reasonString)
+{
+    init(SSH_MSG_DISCONNECT).appendInt(reason).appendString(reasonString)
+        .appendString(QByteArray()).finalize();
+}
+
+void SshOutgoingPacket::generateMsgUnimplementedPacket(quint32 serverSeqNr)
+{
+    init(SSH_MSG_UNIMPLEMENTED).appendInt(serverSeqNr).finalize();
+}
+
+SshOutgoingPacket &SshOutgoingPacket::appendInt(quint32 val)
+{
+    m_data.append(encodeInt(val));
+    return *this;
+}
+
+SshOutgoingPacket &SshOutgoingPacket::appendMpInt(const Botan::BigInt &number)
+{
+    m_data.append(encodeMpInt(number));
+    return *this;
+}
+
+SshOutgoingPacket &SshOutgoingPacket::appendBool(bool b)
+{
+    m_data += static_cast<char>(b);
+    return *this;
+}
+
+SshOutgoingPacket &SshOutgoingPacket::appendString(const QByteArray &string)
+{
+    m_data.append(encodeString(string));
+    return *this;
+}
+
+SshOutgoingPacket &SshOutgoingPacket::init(SshPacketType type)
+{
+    m_data.resize(TypeOffset + 1);
+    m_data[TypeOffset] = type;
+    return *this;
+}
+
+SshOutgoingPacket &SshOutgoingPacket::setPadding()
+{
+    m_data += m_encrypter.getRandomNumbers(MinPaddingLength);
+    int padLength = MinPaddingLength;
+    const int divisor = sizeDivisor();
+    const int mod = m_data.size() % divisor;
+    padLength += divisor - mod;
+    m_data += m_encrypter.getRandomNumbers(padLength - MinPaddingLength);
+    m_data[PaddingLengthOffset] = padLength;
+    return *this;
+}
+
+SshOutgoingPacket &SshOutgoingPacket::encrypt()
+{
+    const QByteArray &mac
+        = generateMac(m_encrypter, m_seqNr);
+    m_encrypter.encrypt(m_data);
+    m_data += mac;
+    return *this;
+}
+
+void SshOutgoingPacket::finalize()
+{
+    setPadding();
+    setLengthField(m_data);
+    m_length = m_data.size() - 4;
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Encrypting packet of type %u", m_data.at(TypeOffset));
+#endif
+    encrypt();
+    Q_ASSERT(isComplete());
+}
+
+int SshOutgoingPacket::sizeDivisor() const
+{
+    return qMax(cipherBlockSize(), 8U);
+}
+
+QByteArray SshOutgoingPacket::encodeNameList(const QList<QByteArray> &list)
+{
+    QByteArray data;
+    data.resize(4);
+    for (int i = 0; i < list.count(); ++i) {
+        if (i > 0)
+            data.append(',');
+        data.append(list.at(i));
+    }
+    AbstractSshPacket::setLengthField(data);
+    return data;
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshoutgoingpacket_p.h b/src/plugins/coreplugin/ssh/sshoutgoingpacket_p.h
new file mode 100644
index 00000000000..eb9c2f520d6
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshoutgoingpacket_p.h
@@ -0,0 +1,98 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHOUTGOINGPACKET_P_H
+#define SSHOUTGOINGPACKET_P_H
+
+#include "sshpacket_p.h"
+
+namespace Core {
+namespace Internal {
+
+class SshEncryptionFacility;
+
+class SshOutgoingPacket : public AbstractSshPacket
+{
+public:
+    SshOutgoingPacket(const SshEncryptionFacility &encrypter,
+        const quint32 &seqNr);
+
+    void generateKeyExchangeInitPacket();
+    void generateKeyDhInitPacket(const Botan::BigInt &e);
+    void generateNewKeysPacket();
+    void generateDisconnectPacket(SshErrorCode reason,
+        const QByteArray &reasonString);
+    void generateMsgUnimplementedPacket(quint32 serverSeqNr);
+    void generateUserAuthServiceRequestPacket();
+    void generateUserAuthByPwdRequestPacket(const QByteArray &user,
+        const QByteArray &service, const QByteArray &pwd);
+    void generateUserAuthByKeyRequestPacket(const QByteArray &user,
+        const QByteArray &service);
+    void generateRequestFailurePacket();
+    void generateSessionPacket(quint32 channelId, quint32 windowSize,
+        quint32 maxPacketSize);
+    void generateEnvPacket(quint32 remoteChannel, const QByteArray &var,
+        const QByteArray &value);
+    void generateExecPacket(quint32 remoteChannel, const QByteArray &command);
+    void generateSftpPacket(quint32 remoteChannel);
+    void generateWindowAdjustPacket(quint32 remoteChannel, quint32 bytesToAdd);
+    void generateChannelDataPacket(quint32 remoteChannel,
+        const QByteArray &data);
+    void generateChannelSignalPacket(quint32 remoteChannel,
+        const QByteArray &signalName);
+    void generateChannelEofPacket(quint32 remoteChannel);
+    void generateChannelClosePacket(quint32 remoteChannel);
+
+private:
+    virtual quint32 cipherBlockSize() const;
+    virtual quint32 macLength() const;
+
+    static QByteArray encodeNameList(const QList<QByteArray> &list);
+
+    void generateServiceRequest(const QByteArray &service);
+
+    SshOutgoingPacket &init(SshPacketType type);
+    SshOutgoingPacket &setPadding();
+    SshOutgoingPacket &encrypt();
+    void finalize();
+
+    SshOutgoingPacket &appendInt(quint32 val);
+    SshOutgoingPacket &appendString(const QByteArray &string);
+    SshOutgoingPacket &appendMpInt(const Botan::BigInt &number);
+    SshOutgoingPacket &appendBool(bool b);
+    int sizeDivisor() const;
+
+    const SshEncryptionFacility &m_encrypter;
+    const quint32 &m_seqNr;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHOUTGOINGPACKET_P_H
diff --git a/src/plugins/coreplugin/ssh/sshpacket.cpp b/src/plugins/coreplugin/ssh/sshpacket.cpp
new file mode 100644
index 00000000000..ff705093554
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshpacket.cpp
@@ -0,0 +1,167 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshpacket_p.h"
+
+#include "sshcapabilities_p.h"
+#include "sshcryptofacility_p.h"
+#include "sshexception_p.h"
+#include "sshpacketparser_p.h"
+
+#include <QtCore/QDebug>
+
+#include <cctype>
+
+namespace Core {
+namespace Internal {
+
+const quint32 AbstractSshPacket::PaddingLengthOffset = 4;
+const quint32 AbstractSshPacket::PayloadOffset = PaddingLengthOffset + 1;
+const quint32 AbstractSshPacket::TypeOffset = PayloadOffset;
+const quint32 AbstractSshPacket::MinPaddingLength = 4;
+
+namespace {
+
+    void printByteArray(const QByteArray &data)
+    {
+#ifdef CREATOR_SSH_DEBUG
+        for (int i = 0; i < data.count(); ++i)
+            qDebug() << std::hex << (static_cast<unsigned int>(data[i]) & 0xff) << " ";
+#else
+        Q_UNUSED(data);
+#endif
+    }
+} // anonymous namespace
+
+
+AbstractSshPacket::AbstractSshPacket() : m_length(0) { }
+AbstractSshPacket::~AbstractSshPacket() {}
+
+bool AbstractSshPacket::isComplete() const
+{
+    if (currentDataSize() < minPacketSize())
+        return false;
+    Q_ASSERT(4 + length() + macLength() >= currentDataSize());
+    return 4 + length() + macLength() == currentDataSize();
+}
+
+void AbstractSshPacket::clear()
+{
+    m_data.clear();
+    m_length = 0;
+}
+
+SshPacketType AbstractSshPacket::type() const
+{
+    Q_ASSERT(isComplete());
+    return static_cast<SshPacketType>(m_data.at(TypeOffset));
+}
+
+AbstractSshPacket::Payload AbstractSshPacket::payLoad() const
+{
+    Payload p;
+    p.data = m_data.constData() + PayloadOffset;
+    p.size = length() - paddingLength() - 1;
+    return p;
+}
+
+void AbstractSshPacket::printRawBytes() const
+{
+    printByteArray(m_data);
+}
+
+QByteArray AbstractSshPacket::encodeString(const QByteArray &string)
+{
+    QByteArray data;
+    data.resize(4);
+    data += string;
+    setLengthField(data);
+    return data;
+}
+
+QByteArray AbstractSshPacket::encodeMpInt(const Botan::BigInt &number)
+{
+    if (number.is_zero())
+        return QByteArray(4, 0);
+
+    int stringLength = number.bytes();
+    const bool positiveAndMsbSet = number.sign() == Botan::BigInt::Positive
+                                   && (number.byte_at(stringLength - 1) & 0x80);
+    if (positiveAndMsbSet)
+        ++stringLength;
+    QByteArray data;
+    data.resize(4 + stringLength);
+    int pos = 4;
+    if (positiveAndMsbSet)
+        data[pos++] = '\0';
+    number.binary_encode(reinterpret_cast<Botan::byte *>(data.data()) + pos);
+    setLengthField(data);
+    return data;
+}
+
+int AbstractSshPacket::paddingLength() const
+{
+    return m_data[PaddingLengthOffset];
+}
+
+quint32 AbstractSshPacket::length() const
+{
+    //Q_ASSERT(currentDataSize() >= minPacketSize());
+    if (m_length == 0)
+        calculateLength();
+    return m_length;
+}
+
+void AbstractSshPacket::calculateLength() const
+{
+    m_length = SshPacketParser::asUint32(m_data, static_cast<quint32>(0));
+}
+
+QByteArray AbstractSshPacket::generateMac(const SshAbstractCryptoFacility &crypt,
+    quint32 seqNr) const
+{
+    const quint32 seqNrBe = qToBigEndian(seqNr);
+    QByteArray data(reinterpret_cast<const char *>(&seqNrBe), sizeof seqNrBe);
+    data += QByteArray(m_data.constData(), length() + 4);
+    return crypt.generateMac(data, data.size());
+}
+
+quint32 AbstractSshPacket::minPacketSize() const
+{
+    return qMax<quint32>(cipherBlockSize(), 16) + macLength();
+}
+
+void AbstractSshPacket::setLengthField(QByteArray &data)
+{
+    const quint32 length = qToBigEndian(data.size() - 4);
+    data.replace(0, 4, reinterpret_cast<const char *>(&length), 4);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshpacket_p.h b/src/plugins/coreplugin/ssh/sshpacket_p.h
new file mode 100644
index 00000000000..7120f001fd5
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshpacket_p.h
@@ -0,0 +1,137 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHPACKET_P_H
+#define SSHPACKET_P_H
+
+#include "sshexception_p.h"
+
+#include <QtCore/QtEndian>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+
+#include <botan/bigint.h>
+
+namespace Core {
+namespace Internal {
+
+enum SshPacketType {
+    SSH_MSG_DISCONNECT = 1,
+    SSH_MSG_IGNORE = 2,
+    SSH_MSG_UNIMPLEMENTED = 3,
+    SSH_MSG_DEBUG = 4,
+    SSH_MSG_SERVICE_REQUEST = 5,
+    SSH_MSG_SERVICE_ACCEPT = 6,
+
+    SSH_MSG_KEXINIT = 20,
+    SSH_MSG_NEWKEYS = 21,
+    SSH_MSG_KEXDH_INIT = 30,
+    SSH_MSG_KEXDH_REPLY = 31,
+
+    SSH_MSG_USERAUTH_REQUEST = 50,
+    SSH_MSG_USERAUTH_FAILURE = 51,
+    SSH_MSG_USERAUTH_SUCCESS = 52,
+    SSH_MSG_USERAUTH_BANNER = 53,
+    SSH_MSG_USERAUTH_PK_OK = 60,
+    SSH_MSG_USERAUTH_PASSWD_CHANGEREQ = 60,
+
+    SSH_MSG_GLOBAL_REQUEST = 80,
+    SSH_MSG_REQUEST_SUCCESS = 81,
+    SSH_MSG_REQUEST_FAILURE = 82,
+
+    SSH_MSG_CHANNEL_OPEN = 90,
+    SSH_MSG_CHANNEL_OPEN_CONFIRMATION = 91,
+    SSH_MSG_CHANNEL_OPEN_FAILURE = 92,
+    SSH_MSG_CHANNEL_WINDOW_ADJUST = 93,
+    SSH_MSG_CHANNEL_DATA = 94,
+    SSH_MSG_CHANNEL_EXTENDED_DATA = 95,
+    SSH_MSG_CHANNEL_EOF = 96,
+    SSH_MSG_CHANNEL_CLOSE = 97,
+    SSH_MSG_CHANNEL_REQUEST = 98,
+    SSH_MSG_CHANNEL_SUCCESS = 99,
+    SSH_MSG_CHANNEL_FAILURE = 100,
+};
+
+enum SshExtendedDataType { SSH_EXTENDED_DATA_STDERR = 1 };
+
+class SshAbstractCryptoFacility;
+
+class AbstractSshPacket
+{
+public:
+    virtual ~AbstractSshPacket();
+
+    void clear();
+    bool isComplete() const;
+    SshPacketType type() const;
+
+    static QByteArray encodeString(const QByteArray &string);
+    static QByteArray encodeMpInt(const Botan::BigInt &number);
+    template<typename T> static QByteArray encodeInt(T value)
+    {
+        const T valMsb = qToBigEndian(value);
+        return QByteArray(reinterpret_cast<const char *>(&valMsb), sizeof valMsb);
+    }
+
+    static void setLengthField(QByteArray &data);
+
+    void printRawBytes() const; // For Debugging.
+
+    const QByteArray &rawData() const { return m_data; }
+
+    struct Payload { const char *data; quint32 size; };
+    Payload payLoad() const;
+
+protected:
+    AbstractSshPacket();
+
+    virtual quint32 cipherBlockSize() const=0;
+    virtual quint32 macLength() const=0;
+    virtual void calculateLength() const;
+
+    quint32 length() const;
+    int paddingLength() const;
+    quint32 minPacketSize() const;
+    quint32 currentDataSize() const { return m_data.size(); }
+    QByteArray generateMac(const SshAbstractCryptoFacility &crypt,
+        quint32 seqNr) const;
+
+    static const quint32 PaddingLengthOffset;
+    static const quint32 PayloadOffset;
+    static const quint32 TypeOffset;
+    static const quint32 MinPaddingLength;
+
+    mutable QByteArray m_data;
+    mutable quint32 m_length;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHPACKET_P_H
diff --git a/src/plugins/coreplugin/ssh/sshpacketparser.cpp b/src/plugins/coreplugin/ssh/sshpacketparser.cpp
new file mode 100644
index 00000000000..2f339c03d92
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshpacketparser.cpp
@@ -0,0 +1,153 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshpacketparser_p.h"
+
+#include <cctype>
+
+namespace Core {
+namespace Internal {
+
+namespace { quint32 size(const QByteArray &data) { return data.size(); } }
+
+QString SshPacketParser::asUserString(const QByteArray &rawString)
+{
+    QByteArray filteredString;
+    filteredString.resize(rawString.size());
+    for (int i = 0; i < rawString.size(); ++i) {
+        const char c = rawString.at(i);
+        filteredString[i]
+            = std::isprint(c) || c == '\n' || c == '\r' || c == '\t' ? c : '?';
+    }
+    return QString::fromUtf8(filteredString);
+}
+
+bool SshPacketParser::asBool(const QByteArray &data, quint32 offset)
+{
+    if (size(data) <= offset)
+        throw SshPacketParseException();
+    return data.at(offset);
+}
+
+bool SshPacketParser::asBool(const QByteArray &data, quint32 *offset)
+{
+    bool b = asBool(data, *offset);
+    ++(*offset);
+    return b;
+}
+
+
+quint32 SshPacketParser::asUint32(const QByteArray &data, quint32 offset)
+{
+    if (size(data) < offset + 4)
+        throw SshPacketParseException();
+    const quint32 value = ((data.at(offset) & 0xff) << 24)
+        + ((data.at(offset + 1) & 0xff) << 16)
+        + ((data.at(offset + 2) & 0xff) << 8) + (data.at(offset + 3) & 0xff);
+    return value;
+}
+
+quint32 SshPacketParser::asUint32(const QByteArray &data, quint32 *offset)
+{
+    const quint32 v = asUint32(data, *offset);
+    *offset += 4;
+    return v;
+}
+
+quint64 SshPacketParser::asUint64(const QByteArray &data, quint32 offset)
+{
+    if (size(data) < offset + 8)
+        throw SshPacketParseException();
+    const quint64 value = (static_cast<quint64>(data.at(offset) & 0xff) << 56)
+        + (static_cast<quint64>(data.at(offset + 1) & 0xff) << 48)
+        + (static_cast<quint64>(data.at(offset + 2) & 0xff) << 40)
+        + (static_cast<quint64>(data.at(offset + 3) & 0xff) << 32)
+        + ((data.at(offset + 4) & 0xff) << 24)
+        + ((data.at(offset + 5) & 0xff) << 16)
+        + ((data.at(offset + 6) & 0xff) << 8)
+        + (data.at(offset + 7) & 0xff);
+    return value;
+}
+
+quint64 SshPacketParser::asUint64(const QByteArray &data, quint32 *offset)
+{
+    const quint64 val = asUint64(data, *offset);
+    *offset += 8;
+    return val;
+}
+
+QByteArray SshPacketParser::asString(const QByteArray &data, quint32 *offset)
+{
+    const quint32 length = asUint32(data, offset);
+    if (size(data) < *offset + length)
+        throw SshPacketParseException();
+    const QByteArray &string = data.mid(*offset, length);
+    *offset += length;
+    return string;
+}
+
+QString SshPacketParser::asUserString(const QByteArray &data, quint32 *offset)
+{
+    return asUserString(asString(data, offset));
+}
+
+SshNameList SshPacketParser::asNameList(const QByteArray &data, quint32 *offset)
+{
+    const quint32 length = asUint32(data, offset);
+    const int listEndPos = *offset + length;
+    if (data.size() < listEndPos)
+        throw SshPacketParseException();
+    SshNameList names(length + 4);
+    int nextNameOffset = *offset;
+    int nextCommaOffset = data.indexOf(',', nextNameOffset);
+    while (nextNameOffset > 0 && nextNameOffset < listEndPos) {
+        const int stringEndPos = nextCommaOffset == -1
+            || nextCommaOffset > listEndPos ? listEndPos : nextCommaOffset;
+        names.names << QByteArray(data.constData() + nextNameOffset,
+            stringEndPos - nextNameOffset);
+        nextNameOffset = nextCommaOffset + 1;
+        nextCommaOffset = data.indexOf(',', nextNameOffset);
+    }
+    *offset += length;
+    return names;
+}
+
+Botan::BigInt SshPacketParser::asBigInt(const QByteArray &data, quint32 *offset)
+{
+    const quint32 length = asUint32(data, offset);
+    if (length == 0)
+        return Botan::BigInt();
+    const Botan::byte *numberStart
+        = reinterpret_cast<const Botan::byte *>(data.constData() + *offset);
+    *offset += length;
+    return Botan::BigInt::decode(numberStart, length);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshpacketparser_p.h b/src/plugins/coreplugin/ssh/sshpacketparser_p.h
new file mode 100644
index 00000000000..253f256b7be
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshpacketparser_p.h
@@ -0,0 +1,81 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHPACKETPARSER_P_H
+#define SSHPACKETPARSER_P_H
+
+#include <botan/bigint.h>
+
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QString>
+
+namespace Core {
+namespace Internal {
+
+struct SshNameList
+{
+    SshNameList() : originalLength(0) {}
+    SshNameList(quint32 originalLength) : originalLength(originalLength) {}
+    quint32 originalLength;
+    QList<QByteArray> names;
+};
+
+class SshPacketParseException { };
+
+// This class's functions try to read a byte array at a certain offset
+// as the respective chunk of data as specified in the SSH RFCs.
+// If they succeed, they update the offset, so they can easily
+// be called in succession by client code.
+// For convenience, some have also versions that don't update the offset,
+// so they can be called with rvalues if the new value is not needed.
+// If they fail, they throw an SshPacketParseException.
+class SshPacketParser
+{
+public:
+    static bool asBool(const QByteArray &data, quint32 offset);
+    static bool asBool(const QByteArray &data, quint32 *offset);
+    static quint16 asUint16(const QByteArray &data, quint32 offset);
+    static quint16 asUint16(const QByteArray &data, quint32 *offset);
+    static quint64 asUint64(const QByteArray &data, quint32 offset);
+    static quint64 asUint64(const QByteArray &data, quint32 *offset);
+    static quint32 asUint32(const QByteArray &data, quint32 offset);
+    static quint32 asUint32(const QByteArray &data, quint32 *offset);
+    static QByteArray asString(const QByteArray &data, quint32 *offset);
+    static QString asUserString(const QByteArray &data, quint32 *offset);
+    static SshNameList asNameList(const QByteArray &data, quint32 *offset);
+    static Botan::BigInt asBigInt(const QByteArray &data, quint32 *offset);
+
+    static QString asUserString(const QByteArray &rawString);
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHPACKETPARSER_P_H
diff --git a/src/plugins/coreplugin/ssh/sshremoteprocess.cpp b/src/plugins/coreplugin/ssh/sshremoteprocess.cpp
new file mode 100644
index 00000000000..c9566e9aca9
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshremoteprocess.cpp
@@ -0,0 +1,270 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshremoteprocess.h"
+#include "sshremoteprocess_p.h"
+
+#include "sshdelayedsignal_p.h"
+#include "sshincomingpacket_p.h"
+#include "sshsendfacility_p.h"
+
+#include <botan/exceptn.h>
+
+namespace Core {
+
+const QByteArray SshRemoteProcess::AbrtSignal("ABRT");
+const QByteArray SshRemoteProcess::AlrmSignal("ALRM");
+const QByteArray SshRemoteProcess::FpeSignal("FPE");
+const QByteArray SshRemoteProcess::HupSignal("HUP");
+const QByteArray SshRemoteProcess::IllSignal("ILL");
+const QByteArray SshRemoteProcess::IntSignal("INT");
+const QByteArray SshRemoteProcess::KillSignal("KILL");
+const QByteArray SshRemoteProcess::PipeSignal("PIPE");
+const QByteArray SshRemoteProcess::QuitSignal("QUIT");
+const QByteArray SshRemoteProcess::SegvSignal("SEGV");
+const QByteArray SshRemoteProcess::TermSignal("TERM");
+const QByteArray SshRemoteProcess::Usr1Signal("USR1");
+const QByteArray SshRemoteProcess::Usr2Signal("USR2");
+
+SshRemoteProcess::SshRemoteProcess(const QByteArray &command, quint32 channelId,
+    Internal::SshSendFacility &sendFacility)
+    : d(new Internal::SshRemoteProcessPrivate(command, channelId, sendFacility, this))
+{
+}
+
+SshRemoteProcess::~SshRemoteProcess()
+{
+    Q_ASSERT(d->channelState() == Internal::SshRemoteProcessPrivate::Inactive
+        || d->channelState() == Internal::SshRemoteProcessPrivate::CloseRequested
+        || d->channelState() == Internal::SshRemoteProcessPrivate::Closed);
+    delete d;
+}
+
+void SshRemoteProcess::addToEnvironment(const QByteArray &var, const QByteArray &value)
+{
+    if (d->channelState() == Internal::SshRemoteProcessPrivate::Inactive)
+        d->m_env << qMakePair(var, value); // Cached locally and sent on start()
+}
+
+void SshRemoteProcess::start()
+{
+    if (d->channelState() == Internal::SshRemoteProcessPrivate::Inactive) {
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("process start requested, channel id = %u", d->localChannelId());
+#endif
+        d->requestSessionStart();
+    }
+}
+
+void SshRemoteProcess::sendSignal(const QByteArray &signal)
+{
+    try {
+        if (isRunning())
+            d->m_sendFacility.sendChannelSignalPacket(d->remoteChannel(),
+                signal);
+    }  catch (Botan::Exception &e) {
+        d->setError(QString::fromAscii(e.what()));
+        d->closeChannel();
+    }
+}
+
+void SshRemoteProcess::closeChannel()
+{
+    d->closeChannel();
+}
+
+void SshRemoteProcess::sendInput(const QByteArray &data)
+{
+    if (isRunning())
+        d->sendData(data);
+}
+
+bool SshRemoteProcess::isRunning() const
+{
+    return d->m_procState == Internal::SshRemoteProcessPrivate::Running;
+}
+
+QString SshRemoteProcess::errorString() const { return d->errorString(); }
+
+int SshRemoteProcess::exitCode() const { return d->m_exitCode; }
+
+QByteArray SshRemoteProcess::exitSignal() const { return d->m_signal; }
+
+namespace Internal {
+
+SshRemoteProcessPrivate::SshRemoteProcessPrivate(const QByteArray &command,
+    quint32 channelId, SshSendFacility &sendFacility, SshRemoteProcess *proc)
+    : AbstractSshChannel(channelId, sendFacility), m_procState(NotYetStarted),
+      m_wasRunning(false), m_exitCode(0), m_command(command), m_proc(proc)
+{
+}
+
+void SshRemoteProcessPrivate::setProcState(ProcessState newState)
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("channel: old state = %d,new state = %d", m_procState, newState);
+#endif
+    m_procState = newState;
+    if (newState == StartFailed) {
+        createClosedSignal(SshRemoteProcess::FailedToStart);
+    } else if (newState == Running) {
+        m_wasRunning = true;
+        createStartedSignal();
+    }
+}
+
+void SshRemoteProcessPrivate::closeHook()
+{
+    if (m_wasRunning) {
+        if (!m_signal.isEmpty())
+            createClosedSignal(SshRemoteProcess::KilledBySignal);
+        else
+            createClosedSignal(SshRemoteProcess::ExitedNormally);
+    }
+}
+
+void SshRemoteProcessPrivate::handleOpenSuccessInternal()
+{
+   foreach (const EnvVar &envVar, m_env) {
+       m_sendFacility.sendEnvPacket(remoteChannel(), envVar.first,
+           envVar.second);
+   }
+
+   m_sendFacility.sendExecPacket(remoteChannel(), m_command);
+   setProcState(ExecRequested);
+}
+
+void SshRemoteProcessPrivate::handleOpenFailureInternal()
+{
+   setProcState(StartFailed);
+}
+
+void SshRemoteProcessPrivate::handleChannelSuccess()
+{
+    if (m_procState != ExecRequested)  {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_MSG_CHANNEL_SUCCESS message.");
+    }
+    setProcState(Running);
+}
+
+void SshRemoteProcessPrivate::handleChannelFailure()
+{
+    if (m_procState != ExecRequested)  {
+        throw SSH_SERVER_EXCEPTION(SSH_DISCONNECT_PROTOCOL_ERROR,
+            "Unexpected SSH_MSG_CHANNEL_FAILURE message.");
+    }
+
+    setProcState(StartFailed);
+    closeChannel();
+}
+
+void SshRemoteProcessPrivate::handleChannelDataInternal(const QByteArray &data)
+{
+    createOutputAvailableSignal(data);
+}
+
+void SshRemoteProcessPrivate::handleChannelExtendedDataInternal(quint32 type,
+    const QByteArray &data)
+{
+    if (type != SSH_EXTENDED_DATA_STDERR)
+        qWarning("Unknown extended data type %u", type);
+    else
+        createErrorOutputAvailableSignal(data);
+}
+
+void SshRemoteProcessPrivate::handleChannelRequest(const SshIncomingPacket &packet)
+{
+    checkChannelActive();
+    const QByteArray &requestType = packet.extractChannelRequestType();
+    if (requestType == SshIncomingPacket::ExitStatusType) {
+        const SshChannelExitStatus status = packet.extractChannelExitStatus();
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("Process exiting with exit code %d", status.exitStatus);
+#endif
+        m_exitCode = status.exitStatus;
+        m_procState = Exited;
+    } else if (requestType == SshIncomingPacket::ExitSignalType) {
+        const SshChannelExitSignal &signal = packet.extractChannelExitSignal();
+#ifdef CREATOR_SSH_DEBUG
+        qDebug("Exit due to signal %s", signal.signal.data());
+#endif
+        setError(signal.error);
+        m_signal = signal.signal;
+        m_procState = Exited;
+    } else {
+        qWarning("Ignoring unknown request type '%s'", requestType.data());
+    }
+}
+
+void SshRemoteProcessPrivate::createStartedSignal()
+{
+    new SshRemoteProcessStartedSignal(this, QWeakPointer<SshRemoteProcess>(m_proc));
+}
+
+void SshRemoteProcessPrivate::emitStartedSignal()
+{
+    emit m_proc->started();
+}
+
+void SshRemoteProcessPrivate::createOutputAvailableSignal(const QByteArray &output)
+{
+    new SshRemoteProcessOutputAvailableSignal(this,
+        QWeakPointer<SshRemoteProcess>(m_proc), output);
+}
+
+void SshRemoteProcessPrivate::emitOutputAvailableSignal(const QByteArray &output)
+{
+    emit m_proc->outputAvailable(output);
+}
+
+void SshRemoteProcessPrivate::createErrorOutputAvailableSignal(const QByteArray &output)
+{
+    new SshRemoteProcessErrorOutputAvailableSignal(this,
+        QWeakPointer<SshRemoteProcess>(m_proc), output);
+}
+
+void SshRemoteProcessPrivate::emitErrorOutputAvailableSignal(const QByteArray &output)
+{
+    emit m_proc->errorOutputAvailable(output);
+}
+
+void SshRemoteProcessPrivate::createClosedSignal(int exitStatus)
+{
+    new SshRemoteProcessClosedSignal(this,
+        QWeakPointer<SshRemoteProcess>(m_proc), exitStatus);
+}
+
+void SshRemoteProcessPrivate::emitClosedSignal(int exitStatus)
+{
+    emit m_proc->closed(exitStatus);
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshremoteprocess.h b/src/plugins/coreplugin/ssh/sshremoteprocess.h
new file mode 100644
index 00000000000..941894990f6
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshremoteprocess.h
@@ -0,0 +1,130 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHREMOTECOMMAND_H
+#define SSHREMOTECOMMAND_H
+
+#include <coreplugin/core_global.h>
+
+#include <QtCore/QObject>
+#include <QtCore/QSharedPointer>
+
+QT_BEGIN_NAMESPACE
+class QByteArray;
+QT_END_NAMESPACE
+
+namespace Core {
+namespace Internal {
+class SshChannelManager;
+class SshRemoteProcessPrivate;
+class SshSendFacility;
+} // namespace Internal
+
+
+/*
+ * This class implements an SSH channel for running a remote process.
+ * Objects are created via SshConnection::createRemoteProcess.
+ * The process is started via the start() member function.
+ * A closeChannel() function is provided, but rarely useful, because
+ *    a) when the process ends, the channel is closed automatically, and
+ *    b) closing a channel will not necessarily kill the remote process.
+ * Therefore, the only sensible use case for calling closeChannel() is to
+ * get rid of an SshRemoteProces object before the process is actually started.
+ * Note that the process does not have a terminal, so you can't use it
+ * for applications that require one.
+ */
+class CORE_EXPORT SshRemoteProcess : public QObject
+{
+    Q_OBJECT
+    Q_DISABLE_COPY(SshRemoteProcess)
+
+    friend class Internal::SshChannelManager;
+    friend class Internal::SshRemoteProcessPrivate;
+
+public:
+    typedef QSharedPointer<SshRemoteProcess> Ptr;
+    enum ExitStatus { FailedToStart, KilledBySignal, ExitedNormally };
+
+    static const QByteArray AbrtSignal;
+    static const QByteArray AlrmSignal;
+    static const QByteArray FpeSignal;
+    static const QByteArray HupSignal;
+    static const QByteArray IllSignal;
+    static const QByteArray IntSignal;
+    static const QByteArray KillSignal;
+    static const QByteArray PipeSignal;
+    static const QByteArray QuitSignal;
+    static const QByteArray SegvSignal;
+    static const QByteArray TermSignal;
+    static const QByteArray Usr1Signal;
+    static const QByteArray Usr2Signal;
+
+    ~SshRemoteProcess();
+
+    /*
+     * Note that this is of limited value in practice, because servers are
+     * usually configured to ignore such requests for security reasons.
+     */
+    void addToEnvironment(const QByteArray &var, const QByteArray &value);
+
+    void start();
+    void closeChannel();
+
+    bool isRunning() const;
+    QString errorString() const;
+    int exitCode() const;
+    QByteArray exitSignal() const;
+
+    // Note: This is ignored by the OpenSSH server.
+    void sendSignal(const QByteArray &signal);
+    void kill() { sendSignal(KillSignal); }
+
+    void sendInput(const QByteArray &data); // Should usually have a trailing newline.
+
+signals:
+    void started();
+    void outputAvailable(const QByteArray &output);
+    void errorOutputAvailable(const QByteArray &output);
+
+    /*
+     * Parameter is of type ExitStatus, but we use int because of
+     * signal/slot awkwardness (full namespace required).
+     */
+    void closed(int exitStatus);
+
+private:
+    SshRemoteProcess(const QByteArray &command, quint32 channelId,
+        Internal::SshSendFacility &sendFacility);
+
+    Internal::SshRemoteProcessPrivate *d;
+};
+
+} // namespace Core
+
+#endif // SSHREMOTECOMMAND_H
diff --git a/src/plugins/coreplugin/ssh/sshremoteprocess_p.h b/src/plugins/coreplugin/ssh/sshremoteprocess_p.h
new file mode 100644
index 00000000000..951ca247310
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshremoteprocess_p.h
@@ -0,0 +1,96 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHREMOTEPROCESS_P_H
+#define SSHREMOTEPROCESS_P_H
+
+#include "sshchannel_p.h"
+
+#include <QtCore/QList>
+#include <QtCore/QPair>
+
+namespace Core {
+class SshRemoteProcess;
+
+namespace Internal {
+class SshSendFacility;
+
+class SshRemoteProcessPrivate : public AbstractSshChannel
+{
+    friend class Core::SshRemoteProcess;
+public:
+    enum ProcessState {
+        NotYetStarted, ExecRequested, StartFailed,Running, Exited
+    };
+
+    virtual void handleChannelSuccess();
+    virtual void handleChannelFailure();
+
+    virtual void closeHook();
+
+    void emitStartedSignal();
+    void emitOutputAvailableSignal(const QByteArray &output);
+    void emitErrorOutputAvailableSignal(const QByteArray &output);
+    void emitClosedSignal(int exitStatus);
+
+private:
+    SshRemoteProcessPrivate(const QByteArray &command, quint32 channelId,
+        SshSendFacility &sendFacility, SshRemoteProcess *proc);
+
+    virtual void handleOpenSuccessInternal();
+    virtual void handleOpenFailureInternal();
+    virtual void handleChannelDataInternal(const QByteArray &data);
+    virtual void handleChannelExtendedDataInternal(quint32 type,
+        const QByteArray &data);
+    virtual void handleChannelRequest(const SshIncomingPacket &packet);
+
+    void setProcState(ProcessState newState);
+
+    void createStartedSignal();
+    void createOutputAvailableSignal(const QByteArray &output);
+    void createErrorOutputAvailableSignal(const QByteArray &output);
+    void createClosedSignal(int exitStatus);
+
+    ProcessState m_procState;
+    bool m_wasRunning;
+    QByteArray m_signal;
+    int m_exitCode;
+
+    const QByteArray m_command;
+
+    typedef QPair<QByteArray, QByteArray> EnvVar;
+    QList<EnvVar> m_env;
+
+    SshRemoteProcess *m_proc;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHREMOTEPROCESS_P_H
diff --git a/src/plugins/coreplugin/ssh/sshsendfacility.cpp b/src/plugins/coreplugin/ssh/sshsendfacility.cpp
new file mode 100644
index 00000000000..3c793af24d7
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshsendfacility.cpp
@@ -0,0 +1,191 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#include "sshsendfacility_p.h"
+
+#include "sshkeyexchange_p.h"
+#include "sshoutgoingpacket_p.h"
+
+#include <QtNetwork/QTcpSocket>
+
+namespace Core {
+namespace Internal {
+
+SshSendFacility::SshSendFacility(QTcpSocket *socket)
+    : m_clientSeqNr(0), m_socket(socket),
+      m_outgoingPacket(m_encrypter, m_clientSeqNr)
+{
+}
+
+void SshSendFacility::sendPacket()
+{
+#ifdef CREATOR_SSH_DEBUG
+    qDebug("Sending packet, client seq nr is %u", m_clientSeqNr);
+#endif
+    m_socket->write(m_outgoingPacket.rawData());
+    ++m_clientSeqNr;
+}
+
+void SshSendFacility::reset()
+{
+    m_clientSeqNr = 0;
+    m_encrypter.clearKeys();
+}
+
+void SshSendFacility::recreateKeys(const SshKeyExchange &keyExchange)
+{
+    m_encrypter.recreateKeys(keyExchange);
+}
+
+void SshSendFacility::createAuthenticationKey(const QByteArray &privKeyFileContents)
+{
+    m_encrypter.createAuthenticationKey(privKeyFileContents);
+}
+
+SshOutgoingPacket::Payload SshSendFacility::sendKeyExchangeInitPacket()
+{
+    m_outgoingPacket.generateKeyExchangeInitPacket();
+    sendPacket();
+    return m_outgoingPacket.payLoad();
+}
+
+void SshSendFacility::sendKeyDhInitPacket(const Botan::BigInt &e)
+{
+    m_outgoingPacket.generateKeyDhInitPacket(e);
+    sendPacket();
+}
+
+void SshSendFacility::sendNewKeysPacket()
+{
+    m_outgoingPacket.generateNewKeysPacket();
+    sendPacket();
+}
+
+void SshSendFacility::sendDisconnectPacket(SshErrorCode reason,
+    const QByteArray &reasonString)
+{
+    m_outgoingPacket.generateDisconnectPacket(reason, reasonString);
+    sendPacket();
+    }
+
+void SshSendFacility::sendMsgUnimplementedPacket(quint32 serverSeqNr)
+{
+    m_outgoingPacket.generateMsgUnimplementedPacket(serverSeqNr);
+    sendPacket();
+}
+
+void SshSendFacility::sendUserAuthServiceRequestPacket()
+{
+    m_outgoingPacket.generateUserAuthServiceRequestPacket();
+    sendPacket();
+}
+
+void SshSendFacility::sendUserAuthByPwdRequestPacket(const QByteArray &user,
+    const QByteArray &service, const QByteArray &pwd)
+{
+    m_outgoingPacket.generateUserAuthByPwdRequestPacket(user, service, pwd);
+    sendPacket();
+    }
+
+void SshSendFacility::sendUserAuthByKeyRequestPacket(const QByteArray &user,
+    const QByteArray &service)
+{
+    m_outgoingPacket.generateUserAuthByKeyRequestPacket(user, service);
+    sendPacket();
+}
+
+void SshSendFacility::sendRequestFailurePacket()
+{
+    m_outgoingPacket.generateRequestFailurePacket();
+    sendPacket();
+}
+
+void SshSendFacility::sendSessionPacket(quint32 channelId, quint32 windowSize,
+    quint32 maxPacketSize)
+{
+    m_outgoingPacket.generateSessionPacket(channelId, windowSize,
+        maxPacketSize);
+    sendPacket();
+}
+
+void SshSendFacility::sendEnvPacket(quint32 remoteChannel,
+    const QByteArray &var, const QByteArray &value)
+{
+    m_outgoingPacket.generateEnvPacket(remoteChannel, var, value);
+    sendPacket();
+}
+
+void SshSendFacility::sendExecPacket(quint32 remoteChannel,
+    const QByteArray &command)
+{
+    m_outgoingPacket.generateExecPacket(remoteChannel, command);
+    sendPacket();
+}
+
+void SshSendFacility::sendSftpPacket(quint32 remoteChannel)
+{
+    m_outgoingPacket.generateSftpPacket(remoteChannel);
+    sendPacket();
+}
+
+void SshSendFacility::sendWindowAdjustPacket(quint32 remoteChannel,
+    quint32 bytesToAdd)
+{
+    m_outgoingPacket.generateWindowAdjustPacket(remoteChannel, bytesToAdd);
+    sendPacket();
+}
+
+void SshSendFacility::sendChannelDataPacket(quint32 remoteChannel,
+    const QByteArray &data)
+{
+    m_outgoingPacket.generateChannelDataPacket(remoteChannel, data);
+    sendPacket();
+}
+
+void SshSendFacility::sendChannelSignalPacket(quint32 remoteChannel,
+    const QByteArray &signalName)
+{
+    m_outgoingPacket.generateChannelSignalPacket(remoteChannel, signalName);
+    sendPacket();
+}
+
+void SshSendFacility::sendChannelEofPacket(quint32 remoteChannel)
+{
+    m_outgoingPacket.generateChannelEofPacket(remoteChannel);
+    sendPacket();
+}
+
+void SshSendFacility::sendChannelClosePacket(quint32 remoteChannel)
+{
+    m_outgoingPacket.generateChannelClosePacket(remoteChannel);
+    sendPacket();
+}
+
+} // namespace Internal
+} // namespace Core
diff --git a/src/plugins/coreplugin/ssh/sshsendfacility_p.h b/src/plugins/coreplugin/ssh/sshsendfacility_p.h
new file mode 100644
index 00000000000..6f1cdf76f38
--- /dev/null
+++ b/src/plugins/coreplugin/ssh/sshsendfacility_p.h
@@ -0,0 +1,90 @@
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** Commercial Usage
+**
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://qt.nokia.com/contact.
+**
+**************************************************************************/
+
+#ifndef SSHCONNECTIONOUTSTATE_P_H
+#define SSHCONNECTIONOUTSTATE_P_H
+
+#include "sshcryptofacility_p.h"
+#include "sshoutgoingpacket_p.h"
+
+QT_BEGIN_NAMESPACE
+class QTcpSocket;
+QT_END_NAMESPACE
+
+
+namespace Core {
+namespace Internal {
+class SshKeyExchange;
+
+class SshSendFacility
+{
+public:
+    SshSendFacility(QTcpSocket *socket);
+    void reset();
+    void recreateKeys(const SshKeyExchange &keyExchange);
+    void createAuthenticationKey(const QByteArray &privKeyFileContents);
+
+    SshOutgoingPacket::Payload sendKeyExchangeInitPacket();
+    void sendKeyDhInitPacket(const Botan::BigInt &e);
+    void sendNewKeysPacket();
+    void sendDisconnectPacket(SshErrorCode reason,
+        const QByteArray &reasonString);
+    void sendMsgUnimplementedPacket(quint32 serverSeqNr);
+    void sendUserAuthServiceRequestPacket();
+    void sendUserAuthByPwdRequestPacket(const QByteArray &user,
+        const QByteArray &service, const QByteArray &pwd);
+    void sendUserAuthByKeyRequestPacket(const QByteArray &user,
+        const QByteArray &service);
+    void sendRequestFailurePacket();
+    void sendSessionPacket(quint32 channelId, quint32 windowSize,
+        quint32 maxPacketSize);
+    void sendEnvPacket(quint32 remoteChannel, const QByteArray &var,
+        const QByteArray &value);
+    void sendExecPacket(quint32 remoteChannel, const QByteArray &command);
+    void sendSftpPacket(quint32 remoteChannel);
+    void sendWindowAdjustPacket(quint32 remoteChannel, quint32 bytesToAdd);
+    void sendChannelDataPacket(quint32 remoteChannel, const QByteArray &data);
+    void sendChannelSignalPacket(quint32 remoteChannel,
+        const QByteArray &signalName);
+    void sendChannelEofPacket(quint32 remoteChannel);
+    void sendChannelClosePacket(quint32 remoteChannel);
+
+private:
+    void sendPacket();
+
+    quint32 m_clientSeqNr;
+    SshEncryptionFacility m_encrypter;
+    QTcpSocket *m_socket;
+    SshOutgoingPacket m_outgoingPacket;
+};
+
+} // namespace Internal
+} // namespace Core
+
+#endif // SSHCONNECTIONOUTSTATE_P_H
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index 0f7ba095238..c542087c251 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -87,7 +87,7 @@ public:
 
     QString dumperLibrary;
     QStringList dumperLibraryLocations;
-    Core::SshServerInfo sshserver;
+    Core::SshConnectionParameters connParams;
     DebuggerStartMode startMode;
 };
 
diff --git a/src/plugins/debugger/gdb/remotegdbprocess.cpp b/src/plugins/debugger/gdb/remotegdbprocess.cpp
index fb7e2d02817..7288f44c7b8 100644
--- a/src/plugins/debugger/gdb/remotegdbprocess.cpp
+++ b/src/plugins/debugger/gdb/remotegdbprocess.cpp
@@ -33,14 +33,15 @@
 
 #include <ctype.h>
 
+using namespace Core;
+
 namespace Debugger {
 namespace Internal {
 
-RemoteGdbProcess::RemoteGdbProcess(const Core::SshServerInfo &server,
+RemoteGdbProcess::RemoteGdbProcess(const Core::SshConnectionParameters &connParams,
     RemotePlainGdbAdapter *adapter, QObject *parent)
-    : AbstractGdbProcess(parent), m_serverInfo(server), m_adapter(adapter)
+    : AbstractGdbProcess(parent), m_connParams(connParams), m_adapter(adapter)
 {
-
 }
 
 QByteArray RemoteGdbProcess::readAllStandardOutput()
@@ -59,68 +60,122 @@ QByteArray RemoteGdbProcess::readAllStandardError()
 
 void RemoteGdbProcess::start(const QString &cmd, const QStringList &args)
 {
-    m_gdbConn = Core::InteractiveSshConnection::create(m_serverInfo);
-    m_appOutputConn = Core::InteractiveSshConnection::create(m_serverInfo);
-    m_errOutputConn = Core::InteractiveSshConnection::create(m_serverInfo);
     m_command = cmd;
     m_cmdArgs = args;
-    m_errOutputConn->start();
-    m_appOutputConn->start();
-    m_gdbConn->start();
- }
+    m_gdbStarted = false;
+    m_error.clear();
+    m_conn = SshConnection::create();
+    connect(m_conn.data(), SIGNAL(connected()), this, SLOT(handleConnected()));
+    connect(m_conn.data(), SIGNAL(error(SshError)), this,
+        SLOT(handleConnectionError()));
+    m_conn->connectToHost(m_connParams);
+}
 
-bool RemoteGdbProcess::waitForStarted()
+void RemoteGdbProcess::handleConnected()
 {
-    if (!waitForInputReady(m_appOutputConn))
-        return false;
-    if (!sendAndWaitForEcho(m_appOutputConn, readerCmdLine(AppOutputFile)))
-        return false;
-    if (!waitForInputReady(m_errOutputConn))
-        return false;
-    if (!sendAndWaitForEcho(m_errOutputConn, readerCmdLine(ErrOutputFile)))
-        return false;
-    if (!waitForInputReady(m_gdbConn))
-        return false;
-    connect(m_appOutputConn.data(), SIGNAL(remoteOutputAvailable()),
-            this, SLOT(handleAppOutput()));
-    connect(m_errOutputConn.data(), SIGNAL(remoteOutputAvailable()),
-            this, SLOT(handleErrOutput()));
-    connect(m_gdbConn.data(), SIGNAL(remoteOutputAvailable()),
-            this, SLOT(handleGdbOutput()));
-    m_gdbStarted = false;
-    m_gdbCmdLine = "stty -echo && DISPLAY=:0.0 " + m_command.toUtf8() + ' '
+    m_fifoCreator = m_conn->createRemoteProcess( "rm -f "
+        + AppOutputFile + " && mkfifo " + AppOutputFile);
+    connect(m_fifoCreator.data(), SIGNAL(closed(int)), this,
+        SLOT(handleFifoCreationFinished(int)));
+    m_fifoCreator->start();
+}
+
+void RemoteGdbProcess::handleConnectionError()
+{
+    emitErrorExit(tr("Connection could not be established."));
+}
+
+void RemoteGdbProcess::handleFifoCreationFinished(int exitStatus)
+{
+    if (exitStatus != SshRemoteProcess::ExitedNormally) {
+        emitErrorExit(tr("Could not create FIFO."));
+    } else {
+        m_appOutputReader = m_conn->createRemoteProcess("cat " + AppOutputFile);
+        connect(m_appOutputReader.data(), SIGNAL(started()), this,
+            SLOT(handleAppOutputReaderStarted()));
+        connect(m_appOutputReader.data(), SIGNAL(closed(int)), this,
+            SLOT(handleAppOutputReaderFinished(int)));
+        m_appOutputReader->start();
+    }
+}
+
+void RemoteGdbProcess::handleAppOutputReaderStarted()
+{
+    connect(m_appOutputReader.data(), SIGNAL(outputAvailable(QByteArray)),
+        this, SLOT(handleAppOutput(QByteArray)));
+    QByteArray cmdLine = "DISPLAY=:0.0 " + m_command.toUtf8() + ' '
         + m_cmdArgs.join(QLatin1String(" ")).toUtf8()
-        + " -tty=" + AppOutputFile + " 2>" + ErrOutputFile + '\n';
+        + " -tty=" + AppOutputFile;
     if (!m_wd.isEmpty())
-        m_gdbCmdLine.prepend("cd " + m_wd.toUtf8() + " && ");
-    if (sendInput(m_gdbCmdLine) != m_gdbCmdLine.count())
-        return false;
+        cmdLine.prepend("cd " + m_wd.toUtf8() + " && ");
+    m_gdbProc = m_conn->createRemoteProcess(cmdLine);
+    connect(m_gdbProc.data(), SIGNAL(started()), this,
+        SLOT(handleGdbStarted()));
+    connect(m_gdbProc.data(), SIGNAL(closed(int)), this,
+        SLOT(handleGdbFinished(int)));
+    connect(m_gdbProc.data(), SIGNAL(outputAvailable(QByteArray)), this,
+        SLOT(handleGdbOutput(QByteArray)));
+    connect(m_gdbProc.data(), SIGNAL(errorOutputAvailable(QByteArray)), this,
+        SLOT(handleErrOutput(QByteArray)));
+    m_gdbProc->start();
+}
+
+void RemoteGdbProcess::handleAppOutputReaderFinished(int exitStatus)
+{
+    if (exitStatus != SshRemoteProcess::ExitedNormally)
+        emitErrorExit(tr("Application output reader unexpectedly finished."));
+}
 
-    return true;
+void RemoteGdbProcess::handleGdbStarted()
+{
+    m_gdbStarted = true;
+}
+
+void RemoteGdbProcess::handleGdbFinished(int exitStatus)
+{
+    switch (exitStatus) {
+    case SshRemoteProcess::FailedToStart:
+        emitErrorExit(tr("Remote gdb failed to start."));
+        break;
+    case SshRemoteProcess::KilledBySignal:
+        emitErrorExit(tr("Remote gdb crashed."));
+        break;
+    case SshRemoteProcess::ExitedNormally:
+        emit finished(m_gdbProc->exitCode(), QProcess::NormalExit);
+        break;
+    }
+    disconnect(m_conn.data(), 0, this, 0);
+    m_gdbProc = SshRemoteProcess::Ptr();
+    m_appOutputReader = SshRemoteProcess::Ptr();
+    m_conn->disconnectFromHost();
+}
+
+bool RemoteGdbProcess::waitForStarted()
+{
+    return m_error.isEmpty();
 }
 
 qint64 RemoteGdbProcess::write(const QByteArray &data)
 {
-    if (!m_gdbStarted || !m_inputToSend.isEmpty() || !m_lastSeqNr.isEmpty()) {
+    if (!m_gdbStarted || !m_inputToSend.isEmpty() || !m_lastSeqNr.isEmpty())
         m_inputToSend.enqueue(data);
-        return data.size();
-    } else {
-        return sendInput(data);
-    }
+    else
+        sendInput(data);
+    return data.size();
 }
 
 void RemoteGdbProcess::kill()
 {
-    stopReaders();
-    Core::InteractiveSshConnection::Ptr controlConn
-        = Core::InteractiveSshConnection::create(m_serverInfo);
-    if (!controlConn->hasError()) {
-        if (controlConn->start())
-            controlConn->sendInput("pkill -x gdb\r\n");
-    }
+    SshRemoteProcess::Ptr killProc
+        = m_conn->createRemoteProcess("pkill -SIGKILL -x gdb");
+    killProc->start();
+}
 
-    m_gdbConn->quit();
-    emit finished(0, QProcess::CrashExit);
+void RemoteGdbProcess::interruptInferior()
+{
+    SshRemoteProcess::Ptr intProc
+        = m_conn->createRemoteProcess("pkill -x -SIGINT gdb");
+    intProc->start();
 }
 
 QProcess::ProcessState RemoteGdbProcess::state() const
@@ -130,35 +185,19 @@ QProcess::ProcessState RemoteGdbProcess::state() const
 
 QString RemoteGdbProcess::errorString() const
 {
-    return m_gdbConn ? m_gdbConn->error() : QString();
+    return m_error;
 }
 
-void RemoteGdbProcess::handleGdbOutput()
+void RemoteGdbProcess::handleGdbOutput(const QByteArray &output)
 {
-    m_currentGdbOutput
-        += removeCarriageReturn(m_gdbConn->waitForRemoteOutput(0));
+    // TODO: Carriage return removal still necessary?
+    m_currentGdbOutput += removeCarriageReturn(output);
 #if 0
     qDebug("%s: complete unread output is '%s'", Q_FUNC_INFO, m_currentGdbOutput.data());
 #endif
-    if (checkForGdbExit(m_currentGdbOutput)) {
-        m_currentGdbOutput.clear();
-        return;
-    }
-
     if (!m_currentGdbOutput.endsWith('\n'))
         return;
 
-    if (!m_gdbStarted) {
-        const int index = m_currentGdbOutput.indexOf(m_gdbCmdLine);
-        if (index != -1)
-            m_currentGdbOutput.remove(index, m_gdbCmdLine.size());
-        // Note: We can't guarantee that we will match the command line,
-        // because the remote terminal sometimes inserts control characters.
-        // Otherwise we could set m_gdbStarted here.
-    }
-
-    m_gdbStarted = true;
-
     if (m_currentGdbOutput.contains(m_lastSeqNr + '^'))
         m_lastSeqNr.clear();
 
@@ -187,7 +226,7 @@ QProcessEnvironment RemoteGdbProcess::processEnvironment() const
 
 void RemoteGdbProcess::setProcessEnvironment(const QProcessEnvironment & /* env */)
 {
-    // TODO: Do something.
+    // TODO: Do something. (if remote process exists: set, otherwise queue)
 }
 
 void RemoteGdbProcess::setEnvironment(const QStringList & /* env */)
@@ -211,48 +250,27 @@ int RemoteGdbProcess::findAnchor(const QByteArray &data) const
     return -1;
 }
 
-qint64 RemoteGdbProcess::sendInput(const QByteArray &data)
+void RemoteGdbProcess::sendInput(const QByteArray &data)
 {
     int pos;
     for (pos = 0; pos < data.size(); ++pos)
         if (!isdigit(data.at(pos)))
             break;
     m_lastSeqNr = data.left(pos);
-    return m_gdbConn->sendInput(data) ? data.size() : 0;
+    m_gdbProc->sendInput(data);
 }
 
-void RemoteGdbProcess::handleAppOutput()
+void RemoteGdbProcess::handleAppOutput(const QByteArray &output)
 {
-    m_adapter->handleApplicationOutput(m_appOutputConn->waitForRemoteOutput(0));
+    m_adapter->handleApplicationOutput(output);
 }
 
-void RemoteGdbProcess::handleErrOutput()
+void RemoteGdbProcess::handleErrOutput(const QByteArray &output)
 {
-    m_errorOutput += m_errOutputConn->waitForRemoteOutput(0);
+    m_errorOutput += output;
     emit readyReadStandardError();
 }
 
-void RemoteGdbProcess::stopReaders()
-{
-    if (m_appOutputConn) {
-        disconnect(m_appOutputConn.data(), SIGNAL(remoteOutputAvailable()),
-                   this, SLOT(handleAppOutput()));
-        m_appOutputConn->sendInput(CtrlC);
-        m_appOutputConn->quit();
-    }
-    if (m_errOutputConn)  {
-        disconnect(m_errOutputConn.data(), SIGNAL(remoteOutputAvailable()),
-                   this, SLOT(handleErrOutput()));
-        m_errOutputConn->sendInput(CtrlC);
-        m_errOutputConn->quit();
-    }
-}
-
-QByteArray RemoteGdbProcess::readerCmdLine(const QByteArray &file)
-{
-    return "rm -f " + file + " && mkfifo " + file +  " && cat " + file + "\r\n";
-}
-
 QByteArray RemoteGdbProcess::removeCarriageReturn(const QByteArray &data)
 {
     QByteArray output;
@@ -264,48 +282,16 @@ QByteArray RemoteGdbProcess::removeCarriageReturn(const QByteArray &data)
     return output;
 }
 
-bool RemoteGdbProcess::checkForGdbExit(QByteArray &output)
+void RemoteGdbProcess::emitErrorExit(const QString &error)
 {
-    const QByteArray exitString("^exit");
-    const int exitPos = output.indexOf(exitString);
-    if (exitPos == -1)
-        return false;
-
-    emit finished(0, QProcess::NormalExit);
-    disconnect(m_gdbConn.data(), SIGNAL(remoteOutputAvailable()),
-               this, SLOT(handleGdbOutput()));
-    output.remove(exitPos + exitString.size(), output.size());
-    stopReaders();
-    return true;
-}
-
-bool RemoteGdbProcess::waitForInputReady(Core::InteractiveSshConnection::Ptr &conn)
-{
-    if (conn->waitForRemoteOutput(m_serverInfo.timeout).isEmpty())
-        return false;
-    while (!conn->waitForRemoteOutput(100).isEmpty())
-        ;
-    return true;
-}
-
-bool RemoteGdbProcess::sendAndWaitForEcho(Core::InteractiveSshConnection::Ptr &conn,
-    const QByteArray &cmdLine)
-{
-    conn->sendInput(cmdLine);
-    QByteArray allOutput;
-    while (!allOutput.endsWith(cmdLine)) {
-        const QByteArray curOutput = conn->waitForRemoteOutput(100);
-        if (curOutput.isEmpty())
-            return false;
-        allOutput += curOutput;
+    if (m_error.isEmpty()) {
+        m_error = error;
+        emit finished(-1, QProcess::CrashExit);
     }
-    return true;
 }
 
-
 const QByteArray RemoteGdbProcess::CtrlC = QByteArray(1, 0x3);
 const QByteArray RemoteGdbProcess::AppOutputFile("app_output");
-const QByteArray RemoteGdbProcess::ErrOutputFile("err_output");
 
 } // namespace Internal
 } // namespace Debugger
diff --git a/src/plugins/debugger/gdb/remotegdbprocess.h b/src/plugins/debugger/gdb/remotegdbprocess.h
index 1008b334da7..9a9679b6952 100644
--- a/src/plugins/debugger/gdb/remotegdbprocess.h
+++ b/src/plugins/debugger/gdb/remotegdbprocess.h
@@ -33,6 +33,7 @@
 #include "abstractgdbprocess.h"
 
 #include <coreplugin/ssh/sshconnection.h>
+#include <coreplugin/ssh/sshremoteprocess.h>
 
 #include <QtCore/QByteArray>
 #include <QtCore/QQueue>
@@ -46,7 +47,7 @@ class RemoteGdbProcess : public AbstractGdbProcess
 {
     Q_OBJECT
 public:
-    RemoteGdbProcess(const Core::SshServerInfo &server,
+    RemoteGdbProcess(const Core::SshConnectionParameters &server,
                      RemotePlainGdbAdapter *adapter, QObject *parent = 0);
 
     virtual QByteArray readAllStandardOutput();
@@ -65,32 +66,37 @@ public:
     virtual void setEnvironment(const QStringList &env);
     virtual void setWorkingDirectory(const QString &dir);
 
+    void interruptInferior();
+
     static const QByteArray CtrlC;
 
 private slots:
-    void handleGdbOutput();
-    void handleAppOutput();
-    void handleErrOutput();
+    void handleConnected();
+    void handleConnectionError();
+    void handleFifoCreationFinished(int exitStatus);
+    void handleAppOutputReaderStarted();
+    void handleAppOutputReaderFinished(int exitStatus);
+    void handleGdbStarted();
+    void handleGdbFinished(int exitStatus);
+    void handleGdbOutput(const QByteArray &output);
+    void handleAppOutput(const QByteArray &output);
+    void handleErrOutput(const QByteArray &output);
 
 private:
     static QByteArray readerCmdLine(const QByteArray &file);
 
     int findAnchor(const QByteArray &data) const;
-    qint64 sendInput(const QByteArray &data);
-    void stopReaders();
+    void sendInput(const QByteArray &data);
     QByteArray removeCarriageReturn(const QByteArray &data);
-    bool checkForGdbExit(QByteArray &output);
-    bool sendAndWaitForEcho(Core::InteractiveSshConnection::Ptr &conn,
-        const QByteArray &cmdLine);
-    bool waitForInputReady(Core::InteractiveSshConnection::Ptr &conn);
+    void emitErrorExit(const QString &error);
 
     static const QByteArray AppOutputFile;
-    static const QByteArray ErrOutputFile;
 
-    Core::SshServerInfo m_serverInfo;
-    Core::InteractiveSshConnection::Ptr m_gdbConn;
-    Core::InteractiveSshConnection::Ptr m_appOutputConn;
-    Core::InteractiveSshConnection::Ptr m_errOutputConn;
+    Core::SshConnectionParameters m_connParams;
+    Core::SshConnection::Ptr m_conn;
+    Core::SshRemoteProcess::Ptr m_gdbProc;
+    Core::SshRemoteProcess::Ptr m_appOutputReader;
+    Core::SshRemoteProcess::Ptr m_fifoCreator;
     QByteArray m_gdbOutput;
     QByteArray m_errorOutput;
     QString m_command;
@@ -99,7 +105,7 @@ private:
     QQueue<QByteArray> m_inputToSend;
     QByteArray m_currentGdbOutput;
     QByteArray m_lastSeqNr;
-    QByteArray m_gdbCmdLine;
+    QString m_error;
     bool m_gdbStarted;
 
     RemotePlainGdbAdapter *m_adapter;
diff --git a/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp b/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
index 2f519188833..88946c11360 100644
--- a/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
+++ b/src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
@@ -40,7 +40,7 @@ namespace Internal {
 RemotePlainGdbAdapter::RemotePlainGdbAdapter(GdbEngine *engine,
                                                QObject *parent)
     : AbstractPlainGdbAdapter(engine, parent),
-      m_gdbProc(engine->startParameters().sshserver, this)
+      m_gdbProc(engine->startParameters().connParams, this)
 {
 }
 
@@ -60,7 +60,7 @@ void RemotePlainGdbAdapter::startAdapter()
 
 void RemotePlainGdbAdapter::interruptInferior()
 {
-    m_gdbProc.write(RemoteGdbProcess::CtrlC);
+    m_gdbProc.interruptInferior();
 }
 
 QByteArray RemotePlainGdbAdapter::execFilePath() const
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp
index eddb077acdd..575da23144e 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp
@@ -35,38 +35,14 @@
 #include "maemoconfigtestdialog.h"
 #include "ui_maemoconfigtestdialog.h"
 
-#include "maemosshthread.h"
+#include "maemodeviceconfigurations.h"
 
-#include <QtGui/QPushButton>
-
-namespace {
-
-/**
- * Class that waits until a thread is finished and then deletes it, and then
- * schedules itself to be deleted.
- */
-class SafeThreadDeleter : public QThread
-{
-public:
-    SafeThreadDeleter(QThread *thread) : m_thread(thread) {}
-    ~SafeThreadDeleter() { wait(); }
-
-protected:
-    void run()
-    {
-        // Wait for m_thread to finish and then delete it
-        m_thread->wait();
-        delete m_thread;
-
-        // Schedule this thread for deletion
-        deleteLater();
-    }
+#include <coreplugin/ssh/sshconnection.h>
+#include <coreplugin/ssh/sshremoteprocess.h>
 
-private:
-    QThread *m_thread;
-};
+#include <QtGui/QPushButton>
 
-} // anonymous namespace
+using namespace Core;
 
 namespace Qt4ProjectManager {
 namespace Internal {
@@ -75,7 +51,6 @@ MaemoConfigTestDialog::MaemoConfigTestDialog(const MaemoDeviceConfig &config, QW
     : QDialog(parent)
     , m_ui(new Ui_MaemoConfigTestDialog)
     , m_config(config)
-    , m_deviceTester(0)
 {
     setAttribute(Qt::WA_DeleteOnClose);
 
@@ -94,65 +69,86 @@ MaemoConfigTestDialog::~MaemoConfigTestDialog()
 
 void MaemoConfigTestDialog::startConfigTest()
 {
-    if (m_deviceTester)
+    if (m_testProcess)
         return;
 
     m_ui->testResultEdit->setPlainText(tr("Testing configuration..."));
     m_closeButton->setText(tr("Stop Test"));
+    m_connection = SshConnection::create();
+    connect(m_connection.data(), SIGNAL(connected()), this,
+        SLOT(handleConnected()));
+    connect(m_connection.data(), SIGNAL(error(SshError)), this,
+        SLOT(handleConnectionError()));
+    m_connection->connectToHost(m_config.server);
+}
 
+void MaemoConfigTestDialog::handleConnected()
+{
+    if (!m_connection)
+        return;
     QLatin1String sysInfoCmd("uname -rsm");
     QLatin1String qtInfoCmd("dpkg -l |grep libqt "
         "|sed 's/[[:space:]][[:space:]]*/ /g' "
         "|cut -d ' ' -f 2,3 |sed 's/~.*//g'");
     QString command(sysInfoCmd + " && " + qtInfoCmd);
-    m_deviceTester = new MaemoSshRunner(m_config.server, command);
-    connect(m_deviceTester, SIGNAL(remoteOutput(QString)),
-            this, SLOT(processSshOutput(QString)));
-    connect(m_deviceTester, SIGNAL(finished()),
-            this, SLOT(handleTestThreadFinished()));
+    m_testProcess = m_connection->createRemoteProcess(command.toUtf8());
+    connect(m_testProcess.data(), SIGNAL(closed(int)), this,
+        SLOT(handleProcessFinished(int)));
+    connect(m_testProcess.data(), SIGNAL(outputAvailable(QByteArray)), this,
+        SLOT(processSshOutput(QByteArray)));
+    m_testProcess->start();
+}
 
-    m_deviceTester->start();
+void MaemoConfigTestDialog::handleConnectionError()
+{
+    if (!m_connection)
+        return;
+    QString output = tr("Could not connect to host: %1")
+        .arg(m_connection->errorString());
+    if (m_config.type == MaemoDeviceConfig::Simulator)
+        output += tr("\nDid you start Qemu?");
+    m_ui->testResultEdit->setPlainText(output);
+    stopConfigTest();
 }
 
-void MaemoConfigTestDialog::handleTestThreadFinished()
+void MaemoConfigTestDialog::handleProcessFinished(int exitStatus)
 {
-    if (!m_deviceTester)
+    Q_ASSERT(exitStatus == SshRemoteProcess::FailedToStart
+        || exitStatus == SshRemoteProcess::KilledBySignal
+        || exitStatus == SshRemoteProcess::ExitedNormally);
+
+    if (!m_testProcess)
         return;
 
-    QString output;
-    if (m_deviceTester->hasError()) {
-        output = tr("Device configuration test failed:\n%1").arg(m_deviceTester->error());
-        if (m_config.type == MaemoDeviceConfig::Simulator)
-            output.append(tr("\nDid you start Qemu?"));
+    if (exitStatus != SshRemoteProcess::ExitedNormally
+        || m_testProcess->exitCode() != 0) {
+        m_ui->testResultEdit->setPlainText(tr("Remote process failed: %1")
+            .arg(m_testProcess->errorString()));
     } else {
-        output = parseTestOutput();
+        const QString &output = parseTestOutput();
         if (!m_qtVersionOk) {
             m_ui->errorLabel->setText(tr("Qt version mismatch! "
                 " Expected Qt on device: 4.6.2 or later."));
         }
+        m_ui->testResultEdit->setPlainText(output);
     }
-    m_ui->testResultEdit->setPlainText(output);
     stopConfigTest();
 }
 
 void MaemoConfigTestDialog::stopConfigTest()
 {
-    if (m_deviceTester) {
-        m_deviceTester->disconnect();  // Disconnect signals
-        m_deviceTester->stop();
+    if (m_testProcess)
+        disconnect(m_testProcess.data(), 0, this, 0);
+    if (m_connection)
+        disconnect(m_connection.data(), 0, this, 0);
 
-        SafeThreadDeleter *deleter = new SafeThreadDeleter(m_deviceTester);
-        deleter->start();
-
-        m_deviceTester = 0;
-        m_deviceTestOutput.clear();
-        m_closeButton->setText(tr("Close"));
-    }
+    m_deviceTestOutput.clear();
+    m_closeButton->setText(tr("Close"));
 }
 
-void MaemoConfigTestDialog::processSshOutput(const QString &data)
+void MaemoConfigTestDialog::processSshOutput(const QByteArray &output)
 {
-    m_deviceTestOutput.append(data);
+    m_deviceTestOutput.append(QString::fromUtf8(output));
 }
 
 QString MaemoConfigTestDialog::parseTestOutput()
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h
index 8bc2d639306..a6ec321ca2c 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h
@@ -35,18 +35,23 @@
 #ifndef MAEMOCONFIGTESTDIALOG_H
 #define MAEMOCONFIGTESTDIALOG_H
 
-#include <QDialog>
+#include <QtCore/QSharedPointer>
+#include <QtGui/QDialog>
 
 QT_BEGIN_NAMESPACE
 class QPushButton;
 class Ui_MaemoConfigTestDialog;
 QT_END_NAMESPACE
 
+namespace Core {
+    class SshConnection;
+    class SshRemoteProcess;
+} // namespace Core
+
 namespace Qt4ProjectManager {
 namespace Internal {
 
 class MaemoDeviceConfig;
-class MaemoSshRunner;
 
 /**
  * A dialog that runs a test of a device configuration.
@@ -60,8 +65,10 @@ public:
 
 private slots:
     void stopConfigTest();
-    void processSshOutput(const QString &data);
-    void handleTestThreadFinished();
+    void processSshOutput(const QByteArray &output);
+    void handleConnected();
+    void handleConnectionError();
+    void handleProcessFinished(int exitStatus);
 
 private:
     void startConfigTest();
@@ -71,7 +78,8 @@ private:
     QPushButton *m_closeButton;
 
     const MaemoDeviceConfig &m_config;
-    MaemoSshRunner *m_deviceTester;
+    QSharedPointer<Core::SshConnection> m_connection;
+    QSharedPointer<Core::SshRemoteProcess> m_testProcess;
     QString m_deviceTestOutput;
     bool m_qtVersionOk;
 };
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
index 7ff2747ddfc..d1d7d6645ef 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
@@ -42,7 +42,7 @@
 
 #include <algorithm>
 
-typedef Core::SshServerInfo::AuthType AuthType;
+typedef Core::SshConnectionParameters::AuthType AuthType;
 
 namespace Qt4ProjectManager {
 namespace Internal {
@@ -80,7 +80,7 @@ namespace {
     const QString DefaultHostNameHW(QLatin1String("192.168.2.15"));
     const QString DefaultHostNameSim(QLatin1String("localhost"));
     const QString DefaultUserName(QLatin1String("developer"));
-    const AuthType DefaultAuthType(Core::SshServerInfo::AuthByKey);
+    const AuthType DefaultAuthType(Core::SshConnectionParameters::AuthByKey);
     const int DefaultTimeout(30);
     const MaemoDeviceConfig::DeviceType DefaultDeviceType(MaemoDeviceConfig::Physical);
 };
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h
index 7ffa28251ee..43ea377006b 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.h
@@ -60,7 +60,7 @@ public:
     void save(QSettings &settings) const;
     bool isValid() const;
 
-    Core::SshServerInfo server;
+    Core::SshConnectionParameters server;
     QString name;
     DeviceType type;
     int gdbServerPort;
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
index c173ddb6070..4d5a3cbc57c 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
@@ -40,6 +40,9 @@
 
 #include <coreplugin/icore.h>
 #include <coreplugin/progressmanager/progressmanager.h>
+#include <coreplugin/ssh/sftpchannel.h>
+#include <coreplugin/ssh/sshconnection.h>
+#include <coreplugin/ssh/sshremoteprocess.h>
 #include <debugger/debuggerengine.h>
 #include <debugger/debuggerplugin.h>
 #include <debugger/debuggerrunner.h>
@@ -57,6 +60,8 @@
 
 #include <QtGui/QMessageBox>
 
+using namespace Core;
+
 namespace Qt4ProjectManager {
 namespace Internal {
 
@@ -78,152 +83,278 @@ AbstractMaemoRunControl::~AbstractMaemoRunControl()
 {
 }
 
+    // TODO: We can cache the connection. We'd have to check if the connection
+    // is active and its parameters are the same as m_devConfig. If yes,
+    //     skip the connection step and jump right to handleConnected()
 void AbstractMaemoRunControl::start()
 {
-    m_stoppedByUser = false;
     if (!m_devConfig.isValid()) {
         handleError(tr("No device configuration set for run configuration."));
     } else {
+        m_stopped = false;
         emit started();
-        startInitialCleanup();
+        m_connection = SshConnection::create();
+        connect(m_connection.data(), SIGNAL(connected()), this,
+            SLOT(handleConnected()));
+        connect(m_connection.data(), SIGNAL(error(SshError)), this,
+            SLOT(handleConnectionFailure()));
+        m_connection->connectToHost(m_devConfig.server);
     }
 }
 
-void AbstractMaemoRunControl::startInitialCleanup()
-{   
+void AbstractMaemoRunControl::handleConnected()
+{
+    if (m_stopped)
+        return;
+
     emit appendMessage(this, tr("Cleaning up remote leftovers first ..."), false);
-    const QStringList appsToKill
-        = QStringList() << executableFileName() << QLatin1String("gdbserver");
+    const QStringList appsToKill = QStringList() << executableFileName()
+#ifdef USE_GDBSERVER
+        << QLatin1String("gdbserver");
+#else
+        << QLatin1String("gdb");
+#endif
     killRemoteProcesses(appsToKill, true);
 }
 
-void AbstractMaemoRunControl::stop()
+void AbstractMaemoRunControl::handleConnectionFailure()
 {
-    m_stoppedByUser = true;
-    if (isCleaning())
-        m_initialCleaner->stop();
-    else if (isDeploying())
-        m_sshDeployer->stop();
-    else
-        stopInternal();
+    if (m_stopped)
+        return;
+
+    handleError(tr("Could not connect to host: %1")
+        .arg(m_connection->errorString()));
+    emit finished();
 }
 
-void AbstractMaemoRunControl::handleInitialCleanupFinished()
+void AbstractMaemoRunControl::stop()
 {
-    if (m_stoppedByUser) {
-        emit appendMessage(this, tr("Initial cleanup canceled by user."), false);
+    m_stopped = true;
+    if (m_connection && m_connection->state() == SshConnection::Connecting) {
+        disconnect(m_connection.data(), 0, this, 0);
+        m_connection->disconnectFromHost();
+        emit finished();
+    } else if (m_initialCleaner && m_initialCleaner->isRunning()) {
+        disconnect(m_initialCleaner.data(), 0, this, 0);
         emit finished();
-    } else if (m_initialCleaner->hasError()) {
-        handleError(tr("Error running initial cleanup: %1")
-                    .arg(m_initialCleaner->error()));
+    } else if (m_installer && m_installer->isRunning()) {
+        disconnect(m_installer.data(), 0, this, 0);
+        emit finished();
+    } else if (isDeploying()) {
+        m_uploadsInProgress.clear();
+        m_linksInProgress.clear();
+        disconnect(m_uploader.data(), 0, this, 0);
+        m_progress.reportCanceled();
+        m_progress.reportFinished();
         emit finished();
     } else {
-        emit appendMessage(this, tr("Initial cleanup done."), false);
-        startInternal();
+        stopInternal();
     }
 }
 
-void AbstractMaemoRunControl::startDeployment(bool forDebugging)
+void AbstractMaemoRunControl::startDeployment()
 {
     QTC_ASSERT(m_runConfig, return);
 
-    if (m_stoppedByUser) {
-        emit finished();
-    } else {
-        m_needsInstall = false;
-        m_deployables.clear();
-        m_remoteLinks.clear();
-        const MaemoPackageCreationStep * const packageStep
-            = m_runConfig->packageStep();
-        if (packageStep->isPackagingEnabled()) {
-            const MaemoDeployable d(packageFilePath(), uploadDir());
-            m_needsInstall = addDeployableIfNeeded(d);
-        } else {
-            const MaemoDeployables * const deployables
-                = packageStep->deployables();
-            const int deployableCount = deployables->deployableCount();
-            for (int i = 0; i < deployableCount; ++i) {
-                const MaemoDeployable &d = deployables->deployableAt(i);
-                if (addDeployableIfNeeded(d))
-                    m_needsInstall = true;
-            }
-        }
-
-        if (forDebugging) {
-            QFileInfo dumperInfo(m_runConfig->dumperLib());
-            if (dumperInfo.exists()) {
-                const MaemoDeployable d(m_runConfig->dumperLib(), uploadDir());
-                m_needsInstall = addDeployableIfNeeded(d);
-            }
-        }
-        deploy();
-    }
-}
-
-bool AbstractMaemoRunControl::addDeployableIfNeeded(const MaemoDeployable &deployable)
-{
-    if (m_runConfig->currentlyNeedsDeployment(m_devConfig.server.host,
-        deployable)) {
-        const QString fileName
-                = QFileInfo(deployable.localFilePath).fileName();
-        const QString remoteFilePath = deployable.remoteDir + '/' + fileName;
-        const QString uploadFilePath =uploadDir() + '/' + fileName + '.'
+    m_uploader = m_connection->createSftpChannel();
+    connect(m_uploader.data(), SIGNAL(initialized()), this,
+        SLOT(handleSftpChannelInitialized()));
+    connect(m_uploader.data(), SIGNAL(initializationFailed(QString)), this,
+        SLOT(handleSftpChannelInitializationFailed(QString)));
+    connect(m_uploader.data(), SIGNAL(finished(Core::SftpJobId, QString)),
+        this, SLOT(handleSftpJobFinished(Core::SftpJobId, QString)));
+    m_uploader->initialize();
+}
+
+void AbstractMaemoRunControl::handleSftpChannelInitialized()
+{
+    if (m_stopped)
+        return;
+
+    m_uploadsInProgress.clear();
+    m_linksInProgress.clear();
+    m_needsInstall = false;
+    const QList<MaemoDeployable> &deployables = filesToDeploy();
+    foreach (const MaemoDeployable &d, deployables) {
+        const QString fileName = QFileInfo(d.localFilePath).fileName();
+        const QString remoteFilePath = d.remoteDir + '/' + fileName;
+        const QString uploadFilePath = uploadDir() + '/' + fileName + '.'
             + QCryptographicHash::hash(remoteFilePath.toUtf8(),
                   QCryptographicHash::Md5).toHex();
-        m_deployables.append(Core::SftpTransferInfo(deployable.localFilePath,
-            uploadFilePath.toUtf8(), Core::SftpTransferInfo::Upload));
-        m_remoteLinks.insert(uploadFilePath, remoteFilePath);
-        return true;
-    } else {
-        return false;
+        const SftpJobId job = m_uploader->uploadFile(d.localFilePath,
+            uploadFilePath, SftpOverwriteExisting);
+        if (job == SftpInvalidJob) {
+            handleError(tr("Upload failed: Could not open file '%1'")
+                .arg(d.localFilePath));
+            return;
+        }
+        emit appendMessage(this, tr("Started uploading file '%1'.")
+            .arg(d.localFilePath), false);
+        m_uploadsInProgress.insert(job, DeployInfo(d, uploadFilePath));
     }
-}
 
-void AbstractMaemoRunControl::deploy()
-{
     Core::ICore::instance()->progressManager()
         ->addTask(m_progress.future(), tr("Deploying"),
                   QLatin1String("Maemo.Deploy"));
-    if (!m_deployables.isEmpty()) {
-        QList<Core::SftpTransferInfo> deploySpecs;
-        QStringList files;
-        foreach (const Core::SftpTransferInfo &deployable, m_deployables)
-            files << deployable.localFilePath;
-        emit appendMessage(this,
-            tr("Files to deploy: %1.").arg(files.join(" ")), false);
-        m_sshDeployer.reset(new MaemoSshDeployer(m_devConfig.server, m_deployables));
-        connect(m_sshDeployer.data(), SIGNAL(finished()),
-                this, SLOT(handleDeployThreadFinished()));
-        connect(m_sshDeployer.data(), SIGNAL(fileCopied(QString)),
-                this, SLOT(handleFileCopied()));
-        m_progress.setProgressRange(0, m_deployables.count());
+    if (!m_uploadsInProgress.isEmpty()) {
+        m_progress.setProgressRange(0, m_uploadsInProgress.count());
         m_progress.setProgressValue(0);
         m_progress.reportStarted();
-        m_sshDeployer->start();
     } else {
         m_progress.reportFinished();
         startExecutionIfPossible();
     }
 }
 
-void AbstractMaemoRunControl::handleFileCopied()
+void AbstractMaemoRunControl::handleSftpChannelInitializationFailed(const QString &error)
 {
-    const Core::SftpTransferInfo &deployable = m_deployables.takeFirst();
-    const QString remoteDir
-        = QFileInfo(m_remoteLinks.value(QString::fromUtf8(deployable.remoteFilePath)))
-              .dir().path();
+    if (m_stopped)
+        return;
+    handleError(tr("Could not set up SFTP connection: %1").arg(error));
+}
 
-    // TODO: This should be done after the linking step, in case the
-    // operation is cancelled directly after the upload.
-    m_runConfig->setDeployed(m_devConfig.server.host,
-        MaemoDeployable(deployable.localFilePath, remoteDir));
+void AbstractMaemoRunControl::handleSftpJobFinished(Core::SftpJobId job,
+    const QString &error)
+{
+    if (m_stopped)
+        return;
+
+    QMap<SftpJobId, DeployInfo>::Iterator it = m_uploadsInProgress.find(job);
+    if (it == m_uploadsInProgress.end()) {
+        qWarning("%s: Job %u not found in map.", Q_FUNC_INFO, job);
+        return;
+    }
+
+    const DeployInfo &deployInfo = it.value();
+    if (!error.isEmpty()) {
+        handleError(tr("Failed to upload file %1: %2")
+            .arg(deployInfo.first.localFilePath, error));
+        return;
+    }
 
     m_progress.setProgressValue(m_progress.progressValue() + 1);
+    appendMessage(this, tr("Successfully uploaded file '%1'.")
+        .arg(deployInfo.first.localFilePath), false);
+
+    const QString remoteFilePath = deployInfo.first.remoteDir + '/'
+        + QFileInfo(deployInfo.first.localFilePath).fileName();
+    QByteArray linkCommand = remoteSudo().toUtf8() + " ln -sf "
+        + deployInfo.second.toUtf8() + ' ' + remoteFilePath.toUtf8();
+    SshRemoteProcess::Ptr linkProcess
+        = m_connection->createRemoteProcess(linkCommand);
+    connect(linkProcess.data(), SIGNAL(closed(int)), this,
+        SLOT(handleLinkProcessFinished(int)));
+    m_linksInProgress.insert(linkProcess, deployInfo.first);
+    linkProcess->start();
+    m_uploadsInProgress.erase(it);
+}
+
+void AbstractMaemoRunControl::handleLinkProcessFinished(int exitStatus)
+{
+    if (m_stopped)
+        return;
+
+    SshRemoteProcess * const proc = static_cast<SshRemoteProcess *>(sender());
+
+    // TODO: List instead of map? We can't use it for lookup anyway.
+    QMap<SshRemoteProcess::Ptr, MaemoDeployable>::Iterator it;
+    for (it = m_linksInProgress.begin(); it != m_linksInProgress.end(); ++it) {
+        if (it.key().data() == proc)
+            break;
+    }
+    if (it == m_linksInProgress.end()) {
+        qWarning("%s: Remote process %p not found in process list.",
+            Q_FUNC_INFO, proc);
+        return;
+    }
+
+    const MaemoDeployable &deployable = it.value();
+    if (exitStatus != SshRemoteProcess::ExitedNormally
+        || proc->exitCode() != 0) {
+        handleError(tr("Deployment failed for file '%1': "
+            "Could not create link '%2' on remote system.")
+            .arg(deployable.localFilePath, deployable.remoteDir + '/'
+                + QFileInfo(deployable.localFilePath).fileName()));
+        return;
+    }
+
+    m_runConfig->setDeployed(m_devConfig.server.host, it.value());
+    m_linksInProgress.erase(it);
+    if (m_linksInProgress.isEmpty() && m_uploadsInProgress.isEmpty()) {
+        if (m_needsInstall) {
+            emit appendMessage(this, tr("Installing package ..."), false);
+            const QByteArray cmd = remoteSudo().toUtf8() + " dpkg -i "
+                + packageFileName().toUtf8();
+            m_installer = m_connection->createRemoteProcess(cmd);
+            connect(m_installer.data(), SIGNAL(closed(int)), this,
+                SLOT(handleInstallationFinished(int)));
+            connect(m_installer.data(), SIGNAL(outputAvailable(QByteArray)),
+                this, SLOT(handleRemoteOutput(QByteArray)));
+            connect(m_installer.data(),
+                SIGNAL(errorOutputAvailable(QByteArray)), this,
+                SLOT(handleRemoteErrorOutput(QByteArray)));
+            m_installer->start();
+        } else {
+            handleDeploymentFinished();
+        }
+    }
+}
+
+void AbstractMaemoRunControl::handleInstallationFinished(int exitStatus)
+{
+    if (m_stopped)
+        return;
+
+    if (exitStatus != SshRemoteProcess::ExitedNormally
+        || m_installer->exitCode() != 0) {
+        handleError(tr("Installing package failed."));
+    } else {
+        emit appendMessage(this, tr("Package installation finished."), false);
+        handleDeploymentFinished();
+    }
+}
+
+void AbstractMaemoRunControl::handleDeploymentFinished()
+{
+    emit appendMessage(this, tr("Deployment finished."), false);
+    m_progress.reportFinished();
+    startExecutionIfPossible();
+}
+
+QList<MaemoDeployable> AbstractMaemoRunControl::filesToDeploy()
+{
+    QList<MaemoDeployable> deployableList;
+    if (m_runConfig->packageStep()->isPackagingEnabled()) {
+        const MaemoDeployable d(packageFilePath(), uploadDir());
+        m_needsInstall = addDeployableIfNeeded(deployableList, d);
+    } else {
+        const MaemoDeployables * const deployables
+            = m_runConfig->packageStep()->deployables();
+        const int deployableCount = deployables->deployableCount();
+        for (int i = 0; i < deployableCount; ++i) {
+            const MaemoDeployable &d = deployables->deployableAt(i);
+            addDeployableIfNeeded(deployableList, d);
+        }
+        m_needsInstall = false;
+    }
+    return deployableList;
+}
+
+bool AbstractMaemoRunControl::addDeployableIfNeeded(QList<MaemoDeployable> &deployables,
+    const MaemoDeployable &deployable)
+{
+    if (m_runConfig->currentlyNeedsDeployment(m_devConfig.server.host,
+        deployable)) {
+        deployables << deployable;
+        return true;
+    } else {
+        return false;
+    }
 }
 
 bool AbstractMaemoRunControl::isDeploying() const
 {
-    return m_sshDeployer && m_sshDeployer->isRunning();
+    return !m_uploadsInProgress.isEmpty() || !m_linksInProgress.isEmpty();
 }
 
 QString AbstractMaemoRunControl::packageFileName() const
@@ -260,33 +391,68 @@ void AbstractMaemoRunControl::startExecutionIfPossible()
 
 void AbstractMaemoRunControl::startExecution()
 {
-    m_sshRunner.reset(new MaemoSshRunner(m_devConfig.server, remoteCall()));
-    connect(m_sshRunner.data(), SIGNAL(finished()),
-            this, SLOT(handleRunThreadFinished()));
-    connect(m_sshRunner.data(), SIGNAL(remoteOutput(QString)),
-            this, SLOT(handleRemoteOutput(QString)));
+    m_runner = m_connection->createRemoteProcess(remoteCall().toUtf8());
+    connect(m_runner.data(), SIGNAL(started()), this,
+        SLOT(handleRemoteProcessStarted()));
+    connect(m_runner.data(), SIGNAL(closed(int)), this,
+        SLOT(handleRemoteProcessFinished(int)));
+    connect(m_runner.data(), SIGNAL(outputAvailable(QByteArray)), this,
+        SLOT(handleRemoteOutput(QByteArray)));
+    connect(m_runner.data(), SIGNAL(errorOutputAvailable(QByteArray)), this,
+        SLOT(handleRemoteErrorOutput(QByteArray)));
     emit appendMessage(this, tr("Starting remote application."), false);
-    m_sshRunner->start();
+    m_runner->start();
+}
+
+void AbstractMaemoRunControl::handleRemoteProcessFinished(int exitStatus)
+{
+    Q_ASSERT(exitStatus == SshRemoteProcess::FailedToStart
+        || exitStatus == SshRemoteProcess::KilledBySignal
+        || exitStatus == SshRemoteProcess::ExitedNormally);
+
+    if (m_stopped)
+        return;
+
+    if (exitStatus == SshRemoteProcess::ExitedNormally) {
+        emit appendMessage(this,
+            tr("Finished running remote process. Exit code was %1.")
+            .arg(m_runner->exitCode()), false);
+        emit finished();
+    } else {
+        handleError(tr("Error running remote process: %1")
+            .arg(m_runner->errorString()));
+    }
+}
+
+void AbstractMaemoRunControl::handleRemoteOutput(const QByteArray &output)
+{
+    emit addToOutputWindowInline(this, QString::fromUtf8(output), false);
+}
+
+void AbstractMaemoRunControl::handleRemoteErrorOutput(const QByteArray &output)
+{
+    emit addToOutputWindowInline(this, QString::fromUtf8(output), true);
 }
 
 bool AbstractMaemoRunControl::isRunning() const
 {
-    return isDeploying() || (m_sshRunner && m_sshRunner->isRunning());
+    return isDeploying() || (m_runner && m_runner->isRunning());
 }
 
 void AbstractMaemoRunControl::stopRunning(bool forDebugging)
 {
-    if (m_sshRunner && m_sshRunner->isRunning()) {
-        m_sshRunner->stop();
+    if (m_runner && m_runner->isRunning()) {
+        disconnect(m_runner.data(), 0, this, 0);
         QStringList apps(executableFileName());
         if (forDebugging)
             apps << QLatin1String("gdbserver");
         killRemoteProcesses(apps, false);
+        emit finished();
     }
 }
 
 void AbstractMaemoRunControl::killRemoteProcesses(const QStringList &apps,
-                                                  bool initialCleanup)
+    bool initialCleanup)
 {
     QString niceKill;
     QString brutalKill;
@@ -296,54 +462,34 @@ void AbstractMaemoRunControl::killRemoteProcesses(const QStringList &apps,
     }
     QString remoteCall = niceKill + QLatin1String("sleep 1; ") + brutalKill;
     remoteCall.remove(remoteCall.count() - 1, 1); // Get rid of trailing semicolon.
-    QScopedPointer<MaemoSshRunner> &runner
-        = initialCleanup ? m_initialCleaner : m_sshStopper;
-    runner.reset(new MaemoSshRunner(m_devConfig.server, remoteCall));
-    if (initialCleanup)
-        connect(runner.data(), SIGNAL(finished()),
-                this, SLOT(handleInitialCleanupFinished()));
-    runner->start();
-}
-
-void AbstractMaemoRunControl::handleDeployThreadFinished()
-{
-    bool cancel;
-    if (m_stoppedByUser) {
-        emit appendMessage(this, tr("Deployment canceled by user."), false);
-        cancel = true;
-    } else if (m_sshDeployer->hasError()) {
-        handleError(tr("Deployment failed: %1").arg(m_sshDeployer->error()));
-        cancel = true;
-    } else {
-        emit appendMessage(this, tr("Deployment finished."), false);
-        cancel = false;
-    }
-
-    if (cancel) {
-        m_progress.reportCanceled();
-        m_progress.reportFinished();
-        emit finished();
+    SshRemoteProcess::Ptr proc
+        = m_connection->createRemoteProcess(remoteCall.toUtf8());
+    if (initialCleanup) {
+        m_initialCleaner = proc;
+        connect(m_initialCleaner.data(), SIGNAL(closed(int)), this,
+            SLOT(handleInitialCleanupFinished(int)));
     } else {
-        m_progress.reportFinished();
-        startExecutionIfPossible();
+        m_stopper = proc;
     }
+    proc->start();
 }
 
-void AbstractMaemoRunControl::handleRunThreadFinished()
+void AbstractMaemoRunControl::handleInitialCleanupFinished(int exitStatus)
 {
-    if (m_stoppedByUser) {
-        emit appendMessage(this,
-                 tr("Remote execution canceled due to user request."),
-                 false);
-    } else if (m_sshRunner && m_sshRunner->hasError()) {
-        emit appendMessage(this, tr("Error running remote process: %1")
-                                         .arg(m_sshRunner->error()),
-                               true);
+    Q_ASSERT(exitStatus == SshRemoteProcess::FailedToStart
+        || exitStatus == SshRemoteProcess::KilledBySignal
+        || exitStatus == SshRemoteProcess::ExitedNormally);
+
+    if (m_stopped)
+        return;
+
+    if (exitStatus != SshRemoteProcess::ExitedNormally) {
+        handleError(tr("Initial cleanup failed: %1")
+            .arg(m_initialCleaner->errorString()));
     } else {
-        emit appendMessage(this, tr("Finished running remote process."),
-                               false);
+        emit appendMessage(this, tr("Initial cleanup done."), false);
+        startDeployment();
     }
-    emit finished();
 }
 
 const QString AbstractMaemoRunControl::executableOnHost() const
@@ -366,32 +512,10 @@ QString AbstractMaemoRunControl::remoteSudo() const
     return QLatin1String("/usr/lib/mad-developer/devrootsh");
 }
 
-QString AbstractMaemoRunControl::remoteInstallCommand() const
-{
-    Q_ASSERT(m_needsInstall);
-    QString cmd;
-    for (QMap<QString, QString>::ConstIterator it = m_remoteLinks.begin();
-    it != m_remoteLinks.end(); ++it) {
-        cmd += QString::fromLocal8Bit("%1 ln -sf %2 %3 && ")
-            .arg(remoteSudo(), it.key(), it.value());
-    }
-    if (m_runConfig->packageStep()->isPackagingEnabled()) {
-        cmd += QString::fromLocal8Bit("%1 dpkg -i %2").arg(remoteSudo())
-            .arg(packageFileName());
-    } else if (!m_remoteLinks.isEmpty()) {
-           return cmd.remove(cmd.length() - 4, 4); // Trailing " && "
-    }
-
-    return cmd;
-}
-
 const QString AbstractMaemoRunControl::targetCmdLinePrefix() const
 {
-    const QString &installPrefix = m_needsInstall
-        ? remoteInstallCommand() + QLatin1String(" && ")
-        : QString();
-    return QString::fromLocal8Bit("%1%2 chmod a+x %3 && source /etc/profile && DISPLAY=:0.0 ")
-        .arg(installPrefix).arg(remoteSudo()).arg(executableFilePathOnTarget());
+    return QString::fromLocal8Bit("%1 chmod a+x %2 && source /etc/profile && DISPLAY=:0.0 ")
+        .arg(remoteSudo()).arg(executableFilePathOnTarget());
 }
 
 QString AbstractMaemoRunControl::targetCmdLineSuffix() const
@@ -403,6 +527,15 @@ void AbstractMaemoRunControl::handleError(const QString &errString)
 {
     QMessageBox::critical(0, tr("Remote Execution Failure"), errString);
     emit appendMessage(this, errString, true);
+    stop();
+}
+
+template<typename SshChannel> void AbstractMaemoRunControl::closeSshChannel(SshChannel &channel)
+{
+    if (channel) {
+        disconnect(channel.data(), 0, this, 0);
+        // channel->closeChannel();
+    }
 }
 
 
@@ -416,11 +549,6 @@ MaemoRunControl::~MaemoRunControl()
     stop();
 }
 
-void MaemoRunControl::startInternal()
-{
-    startDeployment(false);
-}
-
 QString MaemoRunControl::remoteCall() const
 {
     return QString::fromLocal8Bit("%1 %2 %3").arg(targetCmdLinePrefix())
@@ -432,11 +560,6 @@ void MaemoRunControl::stopInternal()
     AbstractMaemoRunControl::stopRunning(false);
 }
 
-void MaemoRunControl::handleRemoteOutput(const QString &output)
-{
-    emit addToOutputWindowInline(this, output, false);
-}
-
 
 MaemoDebugRunControl::MaemoDebugRunControl(RunConfiguration *runConfiguration)
     : AbstractMaemoRunControl(runConfiguration, ProjectExplorer::Constants::DEBUGMODE)
@@ -453,8 +576,9 @@ MaemoDebugRunControl::MaemoDebugRunControl(RunConfiguration *runConfiguration)
 #else
     m_startParams->startMode = StartRemoteGdb;
     m_startParams->executable = executableFilePathOnTarget();
-    m_startParams->debuggerCommand = QLatin1String("/usr/bin/gdb");
-    m_startParams->sshserver = m_devConfig.server;
+    m_startParams->debuggerCommand = targetCmdLinePrefix()
+        + QLatin1String(" /usr/bin/gdb");
+    m_startParams->connParams = m_devConfig.server;
 #endif
     m_startParams->processArgs = m_runConfig->arguments();
     m_startParams->sysRoot = m_runConfig->sysRoot();
@@ -475,12 +599,6 @@ MaemoDebugRunControl::~MaemoDebugRunControl()
     stop();
 }
 
-void MaemoDebugRunControl::startInternal()
-{
-    m_debuggingStarted = false;
-    startDeployment(true);
-}
-
 QString MaemoDebugRunControl::remoteCall() const
 {
     return QString::fromLocal8Bit("%1 gdbserver :%2 %3 %4")
@@ -497,17 +615,6 @@ void MaemoDebugRunControl::startExecution()
 #endif
 }
 
-void MaemoDebugRunControl::handleRemoteOutput(const QString &output)
-{
-#ifdef USE_GDBSERVER
-    if (!m_debuggingStarted) {
-        m_debuggingStarted = true;
-        startDebugging();
-    }
-#endif
-    emit addToOutputWindowInline(m_debuggerRunControl, output, false);
-}
-
 void MaemoDebugRunControl::startDebugging()
 {
     DebuggerPlugin::startDebugger(m_debuggerRunControl);
@@ -529,10 +636,20 @@ void MaemoDebugRunControl::debuggingFinished()
 #ifdef USE_GDBSERVER
     AbstractMaemoRunControl::stopRunning(true);
 #else
-    AbstractMaemoRunControl::handleRunThreadFinished();
+    emit finished();
 #endif
 }
 
+void MaemoDebugRunControl::handleRemoteProcessStarted()
+{
+    startDebugging();
+}
+
+void MaemoDebugRunControl::debuggerOutput(const QString &output)
+{
+    emit appendMessage(this, QLatin1String("[gdb says:] ") + output, true);
+}
+
 QString MaemoDebugRunControl::gdbServerPort() const
 {
     return m_devConfig.type == MaemoDeviceConfig::Physical
@@ -542,5 +659,14 @@ QString MaemoDebugRunControl::gdbServerPort() const
         // but we will make sure we use the right port from the information file.
 }
 
+QList<MaemoDeployable> MaemoDebugRunControl::filesToDeploy()
+{
+    QList<MaemoDeployable> deployables
+        = AbstractMaemoRunControl::filesToDeploy();
+    const MaemoDeployable d(m_runConfig->dumperLib(), uploadDir());
+    addDeployableIfNeeded(deployables, d);
+    return deployables;
+}
+
 } // namespace Internal
 } // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
index ec6849b3252..a5ede3fde26 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
@@ -37,11 +37,12 @@
 
 #include "maemodeviceconfigurations.h"
 #include "maemodeployable.h"
-#include "maemosshthread.h"
 
+#include <coreplugin/ssh/sftpdefs.h>
 #include <projectexplorer/runconfiguration.h>
 
 #include <QtCore/QFutureInterface>
+#include <QtCore/QMap>
 #include <QtCore/QScopedPointer>
 #include <QtCore/QString>
 
@@ -49,6 +50,12 @@ QT_BEGIN_NAMESPACE
 class QProcess;
 QT_END_NAMESPACE
 
+namespace Core {
+    class SftpChannel;
+    class SshConnection;
+    class SshRemoteProcess;
+}
+
 namespace Debugger {
     class DebuggerRunControl;
     class DebuggerStartParameters;
@@ -56,8 +63,6 @@ namespace Debugger {
 
 namespace Qt4ProjectManager {
 namespace Internal {
-class MaemoSshDeployer;
-class MaemoSshRunner;
 class MaemoRunConfiguration;
 
 class AbstractMaemoRunControl : public ProjectExplorer::RunControl
@@ -73,8 +78,7 @@ protected:
     virtual void start();
     virtual void stop();
 
-    void startDeployment(bool forDebugging);
-    void deploy();
+    void startDeployment();
     void stopRunning(bool forDebugging);
     virtual void startExecution();
     void handleError(const QString &errString);
@@ -86,46 +90,55 @@ protected:
     QString packageFileName() const;
     QString packageFilePath() const;
     QString executableFilePathOnTarget() const;
-
-protected slots:
-    void handleRunThreadFinished();
+    virtual QList<MaemoDeployable> filesToDeploy();
+    bool addDeployableIfNeeded(QList<MaemoDeployable> &deployables,
+        const MaemoDeployable &deployable);
 
 private slots:
-    virtual void handleRemoteOutput(const QString &output)=0;
-    void handleInitialCleanupFinished();
-    void handleDeployThreadFinished();
-    void handleFileCopied();
+    void handleConnected();
+    void handleConnectionFailure();
+    void handleInitialCleanupFinished(int exitStatus);
+    void handleSftpChannelInitialized();
+    void handleSftpChannelInitializationFailed(const QString &error);
+    void handleSftpJobFinished(Core::SftpJobId job, const QString &error);
+    void handleLinkProcessFinished(int exitStatus);
+    void handleInstallationFinished(int exitStatus);
+    virtual void handleRemoteProcessStarted() {}
+    void handleRemoteProcessFinished(int exitStatus);
+    void handleRemoteOutput(const QByteArray &output);
+    void handleRemoteErrorOutput(const QByteArray &output);
 
 protected:
     MaemoRunConfiguration *m_runConfig; // TODO this pointer can be invalid
     const MaemoDeviceConfig m_devConfig;
 
 private:
-    bool addDeployableIfNeeded(const MaemoDeployable &deployable);
-
-    virtual void startInternal()=0;
     virtual void stopInternal()=0;
     virtual QString remoteCall() const=0;
 
-    void startInitialCleanup();
     void killRemoteProcesses(const QStringList &apps, bool initialCleanup);
+    void cancelActions();
+    template<class SshChannel> void closeSshChannel(SshChannel &channel);
     void startExecutionIfPossible();
     bool isCleaning() const;
     bool isDeploying() const;
     QString remoteSudo() const;
-    QString remoteInstallCommand() const;
     QString uploadFilePath(const MaemoDeployable &deployable) const;
+    void handleDeploymentFinished();
 
     QFutureInterface<void> m_progress;
-    QScopedPointer<MaemoSshDeployer> m_sshDeployer;
-    QScopedPointer<MaemoSshRunner> m_sshRunner;
-    QScopedPointer<MaemoSshRunner> m_sshStopper;
-    QScopedPointer<MaemoSshRunner> m_initialCleaner;
-    bool m_stoppedByUser;
-
-    QList<Core::SftpTransferInfo> m_deployables;
-    QMap<QString, QString> m_remoteLinks;
+    QSharedPointer<Core::SshConnection> m_connection;
+    QSharedPointer<Core::SftpChannel> m_uploader;
+    QSharedPointer<Core::SshRemoteProcess> m_installer;
+    QSharedPointer<Core::SshRemoteProcess> m_runner;
+    QSharedPointer<Core::SshRemoteProcess> m_stopper;
+    QSharedPointer<Core::SshRemoteProcess> m_initialCleaner;
+
+    typedef QPair<MaemoDeployable, QString> DeployInfo;
+    QMap<Core::SftpJobId, DeployInfo> m_uploadsInProgress;
+    QMap<QSharedPointer<Core::SshRemoteProcess>, MaemoDeployable> m_linksInProgress;
     bool m_needsInstall;
+    bool m_stopped;
 };
 
 class MaemoRunControl : public AbstractMaemoRunControl
@@ -135,11 +148,7 @@ public:
     explicit MaemoRunControl(ProjectExplorer::RunConfiguration *runConfiguration);
     ~MaemoRunControl();
 
-private slots:
-    virtual void handleRemoteOutput(const QString &output);
-
 private:
-    virtual void startInternal();
     virtual void stopInternal();
     virtual QString remoteCall() const;
 };
@@ -153,22 +162,21 @@ public:
     bool isRunning() const;
 
 private slots:
-    virtual void handleRemoteOutput(const QString &output);
+    virtual void handleRemoteProcessStarted();
+    void debuggerOutput(const QString &output);
     void debuggingFinished();
 
 private:
-    virtual void startInternal();
     virtual void stopInternal();
     virtual void startExecution();
     virtual QString remoteCall() const;
+    virtual QList<MaemoDeployable> filesToDeploy();
 
     QString gdbServerPort() const;
     void startDebugging();
 
     Debugger::DebuggerRunControl *m_debuggerRunControl;
     QSharedPointer<Debugger::DebuggerStartParameters> m_startParams;
-
-    bool m_debuggingStarted;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp
index 6ef22cf3d4f..0d2e3a7fbec 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.cpp
@@ -39,7 +39,9 @@
 #include "maemoconfigtestdialog.h"
 #include "maemodeviceconfigurations.h"
 #include "maemosshconfigdialog.h"
-#include "maemosshthread.h"
+
+#include <coreplugin/ssh/sshconnection.h>
+#include <coreplugin/ssh/sshremoteprocess.h>
 
 #include <QtCore/QFile>
 #include <QtCore/QFileInfo>
@@ -52,6 +54,8 @@
 
 #include <algorithm>
 
+using namespace Core;
+
 namespace Qt4ProjectManager {
 namespace Internal {
 
@@ -97,8 +101,7 @@ MaemoSettingsWidget::MaemoSettingsWidget(QWidget *parent)
     : QWidget(parent),
       m_ui(new Ui_MaemoSettingsWidget),
       m_devConfs(MaemoDeviceConfigurations::instance().devConfigs()),
-      m_nameValidator(new NameValidator(m_devConfs)),
-      m_keyDeployer(0)
+      m_nameValidator(new NameValidator(m_devConfs))
 {
     initGui();
 }
@@ -195,7 +198,7 @@ void MaemoSettingsWidget::display(const MaemoDeviceConfig &devConfig)
     otherConfig->server.pwd = devConfig.server.pwd;
     otherConfig->server.privateKeyFile = devConfig.server.privateKeyFile;
 
-    if (devConfig.server.authType == Core::SshServerInfo::AuthByPwd)
+    if (devConfig.server.authType == Core::SshConnectionParameters::AuthByPwd)
         m_ui->passwordButton->setChecked(true);
     else
         m_ui->keyButton->setChecked(true);
@@ -272,7 +275,7 @@ void MaemoSettingsWidget::authenticationTypeChanged()
 {
     const bool usePassword = m_ui->passwordButton->isChecked();
     currentConfig().server.authType
-        = usePassword ? Core::SshServerInfo::AuthByPwd : Core::SshServerInfo::AuthByKey;
+        = usePassword ? Core::SshConnectionParameters::AuthByPwd : Core::SshConnectionParameters::AuthByKey;
     m_ui->pwdLineEdit->setEnabled(usePassword);
     m_ui->passwordLabel->setEnabled(usePassword);
     m_ui->keyFileLineEdit->setEnabled(!usePassword);
@@ -337,13 +340,32 @@ void MaemoSettingsWidget::deployKey()
     if (m_keyDeployer)
         return;
 
+    disconnect(m_ui->deployKeyButton, 0, this, 0);
+    m_ui->deployKeyButton->setText(tr("Stop Deploying"));
+    connect(m_ui->deployKeyButton, SIGNAL(clicked()), this,
+        SLOT(stopDeploying()));
+    m_connection = SshConnection::create();
+    connect(m_connection.data(), SIGNAL(connected()), this,
+        SLOT(handleConnected()));
+    connect(m_connection.data(), SIGNAL(error(SshError)), this,
+        SLOT(handleConnectionFailure()));
+    m_connection->connectToHost(currentConfig().server);
+}
+
+void MaemoSettingsWidget::handleConnected()
+{
+    if (!m_connection)
+        return;
+
     const QString &dir
         = QFileInfo(currentConfig().server.privateKeyFile).path();
     QString publicKeyFileName = QFileDialog::getOpenFileName(this,
         tr("Choose Public Key File"), dir,
         tr("Public Key Files(*.pub);;All Files (*)"));
-    if (publicKeyFileName.isEmpty())
+    if (publicKeyFileName.isEmpty()) {
+        stopDeploying();
         return;
+    }
 
     QFile keyFile(publicKeyFileName);
     QByteArray key;
@@ -353,32 +375,45 @@ void MaemoSettingsWidget::deployKey()
     if (!keyFileAccessible || keyFile.error() != QFile::NoError) {
         QMessageBox::critical(this, tr("Deployment Failed"),
             tr("Could not read public key file '%1'.").arg(publicKeyFileName));
+        stopDeploying();
         return;
     }
 
-    m_ui->deployKeyButton->disconnect();
-    const QString command = QLatin1String("test -d .ssh "
-        "|| mkdir .ssh && chmod 0700 .ssh && echo '")
-        + key + QLatin1String("' >> .ssh/authorized_keys");
-    m_keyDeployer = new MaemoSshRunner(currentConfig().server, command);
-    connect(m_keyDeployer, SIGNAL(finished()),
-            this, SLOT(handleDeployThreadFinished()));
-    m_ui->deployKeyButton->setText(tr("Stop Deploying"));
-    connect(m_ui->deployKeyButton, SIGNAL(clicked()), this, SLOT(stopDeploying()));
+    const QByteArray command = "test -d .ssh "
+        "|| mkdir .ssh && chmod 0700 .ssh && echo '"
+        + key + "' >> .ssh/authorized_keys";
+    m_keyDeployer = m_connection->createRemoteProcess(command);
+    connect(m_keyDeployer.data(), SIGNAL(closed(int)), this,
+        SLOT(handleKeyUploadFinished(int)));
     m_keyDeployer->start();
 }
 
-void MaemoSettingsWidget::handleDeployThreadFinished()
+void MaemoSettingsWidget::handleConnectionFailure()
 {
-    if (!m_keyDeployer)
+    if (!m_connection)
         return;
 
-    if (m_keyDeployer->hasError()) {
-        QMessageBox::critical(this, tr("Deployment Failed"),
-            tr("Key deployment failed: %1").arg(m_keyDeployer->error()));
-    } else {
+    QMessageBox::critical(this, tr("Deployment Failed"),
+        tr("Could not connect to host: %1").arg(m_connection->errorString()));
+    stopDeploying();
+}
+
+void MaemoSettingsWidget::handleKeyUploadFinished(int exitStatus)
+{
+    Q_ASSERT(exitStatus == SshRemoteProcess::FailedToStart
+        || exitStatus == SshRemoteProcess::KilledBySignal
+        || exitStatus == SshRemoteProcess::ExitedNormally);
+
+    if (!m_connection)
+        return;
+
+    if (exitStatus == SshRemoteProcess::ExitedNormally
+        && m_keyDeployer->exitCode() == 0) {
         QMessageBox::information(this, tr("Deployment Succeeded"),
             tr("Key was successfully deployed."));
+    } else {
+        QMessageBox::critical(this, tr("Deployment Failed"),
+            tr("Key deployment failed: %1.").arg(m_keyDeployer->errorString()));
     }
     stopDeploying();
 }
@@ -386,14 +421,14 @@ void MaemoSettingsWidget::handleDeployThreadFinished()
 void MaemoSettingsWidget::stopDeploying()
 {
     if (m_keyDeployer) {
-        m_ui->deployKeyButton->disconnect();
-        m_keyDeployer->disconnect();
-        m_keyDeployer->stop();
-        delete m_keyDeployer;
-        m_keyDeployer = 0;
-        m_ui->deployKeyButton->setText(tr("Deploy Public Key ..."));
-        connect(m_ui->deployKeyButton, SIGNAL(clicked()), this, SLOT(deployKey()));
+        disconnect(m_keyDeployer.data(), 0, this, 0);
+        m_keyDeployer = SshRemoteProcess::Ptr();
     }
+    if (m_connection)
+        disconnect(m_connection.data(), 0, this, 0);
+    m_ui->deployKeyButton->disconnect();
+    m_ui->deployKeyButton->setText(tr("Deploy Public Key ..."));
+    connect(m_ui->deployKeyButton, SIGNAL(clicked()), this, SLOT(deployKey()));
 }
 
 void MaemoSettingsWidget::currentConfigChanged(int index)
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h
index e8c676696a0..cc17e2262cd 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosettingswidget.h
@@ -38,6 +38,7 @@
 #include "maemodeviceconfigurations.h"
 
 #include <QtCore/QList>
+#include <QtCore/QSharedPointer>
 #include <QtCore/QString>
 #include <QtGui/QWidget>
 
@@ -47,6 +48,11 @@ class QLineEdit;
 class Ui_MaemoSettingsWidget;
 QT_END_NAMESPACE
 
+namespace Core {
+class SshConnection;
+class SshRemoteProcess;
+}
+
 namespace Qt4ProjectManager {
 namespace Internal {
 
@@ -86,8 +92,10 @@ private slots:
 
     // For key deploying.
     void deployKey();
-    void handleDeployThreadFinished();
     void stopDeploying();
+    void handleConnected();
+    void handleConnectionFailure();
+    void handleKeyUploadFinished(int exitStatus);
 
 private:
     void initGui();
@@ -102,7 +110,8 @@ private:
     MaemoDeviceConfig m_lastConfigHW;
     MaemoDeviceConfig m_lastConfigSim;
     NameValidator * const m_nameValidator;
-    MaemoSshRunner *m_keyDeployer;
+    QSharedPointer<Core::SshConnection> m_connection;
+    QSharedPointer<Core::SshRemoteProcess> m_keyDeployer;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshconfigdialog.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosshconfigdialog.cpp
index 6052b702a24..48d48fb0f91 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosshconfigdialog.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemosshconfigdialog.cpp
@@ -45,13 +45,13 @@
 #include <QtGui/QMessageBox>
 #include <QtNetwork/QHostInfo>
 
-
+using namespace Core;
 using namespace Qt4ProjectManager::Internal;
 
 MaemoSshConfigDialog::MaemoSshConfigDialog(QWidget *parent)
     : QDialog(parent)
     , home(QDesktopServices::storageLocation(QDesktopServices::HomeLocation))
-    , m_keyGenerator(new Core::SshKeyGenerator)
+    , m_keyGenerator(new SshKeyGenerator)
 {
     m_ui.setupUi(this);
 
@@ -75,16 +75,16 @@ void MaemoSshConfigDialog::slotToggled()
 
 void MaemoSshConfigDialog::generateSshKey()
 {
-    const Core::SshKeyGenerator::KeyType keyType = m_ui.rsa->isChecked()
-        ? Core::SshKeyGenerator::Rsa
-        : Core::SshKeyGenerator::Dsa;
+    const SshKeyGenerator::KeyType keyType = m_ui.rsa->isChecked()
+        ? SshKeyGenerator::Rsa
+        : SshKeyGenerator::Dsa;
 
     QByteArray userId = QString(home.mid(home.lastIndexOf(QLatin1Char('/')) + 1)
         + QLatin1Char('@') + QHostInfo::localHostName()).toUtf8();
 
     QApplication::setOverrideCursor(Qt::BusyCursor);
 
-    if (m_keyGenerator->generateKeys(keyType, userId,
+    if (m_keyGenerator->generateKeys(keyType, SshKeyGenerator::OpenSsl,
                                      m_ui.comboBox->currentText().toUShort())) {
         m_ui.plainTextEdit->setPlainText(m_keyGenerator->publicKey());
         m_ui.savePublicKey->setEnabled(true);
@@ -117,7 +117,7 @@ void MaemoSshConfigDialog::saveKey(bool publicKey)
 {
     checkSshDir();
     const QString suggestedTypeSuffix =
-        m_keyGenerator->type() == Core::SshKeyGenerator::Rsa ? "rsa" : "dsa";
+        m_keyGenerator->type() == SshKeyGenerator::Rsa ? "rsa" : "dsa";
     const QString suggestedName = home + QString::fromLatin1("/.ssh/id_%1%2")
         .arg(suggestedTypeSuffix).arg(publicKey ? ".pub" : "");
     const QString dlgTitle
@@ -131,8 +131,8 @@ void MaemoSshConfigDialog::saveKey(bool publicKey)
     const bool canOpen = file.open(QIODevice::WriteOnly);
     if (canOpen)
         file.write(publicKey
-            ? m_keyGenerator->publicKey().toUtf8()
-            : m_keyGenerator->privateKey().toUtf8());
+            ? m_keyGenerator->publicKey()
+            : m_keyGenerator->privateKey());
     if (!canOpen || file.error() != QFile::NoError) {
         QMessageBox::critical(this, tr("Error writing file"),
                               tr("Could not write file '%1':\n %2")
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshthread.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosshthread.cpp
deleted file mode 100644
index a31c06dec4e..00000000000
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosshthread.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Creator.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "maemosshthread.h"
-
-namespace Qt4ProjectManager {
-namespace Internal {
-
-template <class SshConnection> MaemoSshThread<SshConnection>::MaemoSshThread(const Core::SshServerInfo &server)
-    : m_server(server), m_stopRequested(false)
-{
-}
-
-template <class SshConnection> MaemoSshThread<SshConnection>::~MaemoSshThread()
-{
-    stop();
-    wait();
-}
-
-template <class SshConnection> void MaemoSshThread<SshConnection>::run()
-{
-    if (m_stopRequested)
-        return;
-
-    if (!runInternal())
-        m_error = m_connection->error();
-}
-
-template<class SshConnection> void MaemoSshThread<SshConnection>::stop()
-{
-    m_mutex.lock();
-    m_stopRequested = true;
-    m_waitCond.wakeAll();
-    const bool hasConnection = !m_connection.isNull();
-    if (hasConnection)
-        m_connection->quit();
-    m_mutex.unlock();
-}
-
-template<class SshConnection> void MaemoSshThread<SshConnection>::waitForStop()
-{
-    m_mutex.lock();
-    while (!stopRequested())
-        m_waitCond.wait(&m_mutex);
-    m_mutex.unlock();
-}
-
-template<class SshConnection> void MaemoSshThread<SshConnection>::createConnection()
-{
-    typename SshConnection::Ptr connection = SshConnection::create(m_server);
-    m_mutex.lock();
-    m_connection = connection;
-    m_mutex.unlock();
-}
-
-MaemoSshRunner::MaemoSshRunner(const Core::SshServerInfo &server,
-                               const QString &command)
-    : MaemoSshThread<Core::InteractiveSshConnection>(server),
-      m_command(command)
-{
-    m_prompt = server.uname == QLatin1String("root") ? "#" : "$";
-}
-
-bool MaemoSshRunner::runInternal()
-{
-    createConnection();
-    connect(m_connection.data(), SIGNAL(remoteOutputAvailable()),
-            this, SLOT(handleRemoteOutput()));
-    initState();
-    if (!m_connection->start())
-        return false;
-    if (stopRequested())
-        return true;
-
-    waitForStop();
-    return !m_connection->hasError();
-}
-
-void MaemoSshRunner::initState()
-{
-    m_endMarkerCount = 0;
-    m_promptEncountered = false;
-    m_potentialEndMarkerPrefix.clear();
-}
-
-void MaemoSshRunner::handleRemoteOutput()
-{
-    const QByteArray output
-        = m_potentialEndMarkerPrefix + m_connection->waitForRemoteOutput(0);
-
-    // Wait for a prompt before sending the command.
-    if (!m_promptEncountered) {
-        if (output.indexOf(m_prompt) != -1) {
-            m_promptEncountered = true;
-
-            /*
-             * We don't have access to the remote process management, so we
-             * try to track the lifetime of the process by adding a second command
-             * that prints a rare character. When it occurs for the second time (the
-             * first one is the echo from the remote terminal), we assume the
-             * process has finished. If anyone actually prints this special character
-             * in their application, they are out of luck.
-             */
-            const QString finalCommand = m_command + QLatin1String(";echo ")
-                + QString::fromUtf8(EndMarker) + QLatin1Char('\n');
-            if (!m_connection->sendInput(finalCommand.toUtf8()))
-                stop();
-        }
-        return;
-    }
-
-    /*
-     * The output the user should see is everything after the first
-     * and before the last occurrence of our marker string.
-     */
-    int firstCharToEmit;
-    int charsToEmitCount;
-    const int endMarkerPos = output.indexOf(EndMarker);
-    if (endMarkerPos != -1) {
-        if (m_endMarkerCount++ == 0) {
-            firstCharToEmit = endMarkerPos + EndMarker.count() + 1;
-            int endMarkerPos2
-                    = output.indexOf(EndMarker, firstCharToEmit);
-            if (endMarkerPos2 != -1) {
-                ++ m_endMarkerCount;
-                charsToEmitCount = endMarkerPos2 - firstCharToEmit;
-            } else {
-                charsToEmitCount = -1;
-            }
-        } else {
-            firstCharToEmit = m_potentialEndMarkerPrefix.count();
-            charsToEmitCount = endMarkerPos - firstCharToEmit;
-        }
-    } else {
-        if (m_endMarkerCount == 0) {
-            charsToEmitCount = 0;
-        } else {
-            firstCharToEmit = m_potentialEndMarkerPrefix.count();
-            charsToEmitCount = -1;
-        }
-    }
-
-    if (charsToEmitCount != 0) {
-        emit remoteOutput(QString::fromUtf8(output.data() + firstCharToEmit,
-                                            charsToEmitCount));
-    }
-    if (m_endMarkerCount == 2)
-        stop();
-
-    m_potentialEndMarkerPrefix = output.right(EndMarker.count() - 1);
-}
-
-const QByteArray MaemoSshRunner::EndMarker(QString(QChar(0x13a0)).toUtf8());
-
-
-MaemoSshDeployer::MaemoSshDeployer(const Core::SshServerInfo &server,
-    const QList<Core::SftpTransferInfo> &deploySpecs)
-    : MaemoSshThread<Core::SftpConnection>(server),
-      m_deploySpecs(deploySpecs)
-{
-}
-
-bool MaemoSshDeployer::runInternal()
-{
-    createConnection();
-    if (!m_connection->start())
-        return false;
-    if (stopRequested())
-        return true;
-
-    connect(m_connection.data(), SIGNAL(fileCopied(QString)),
-            this, SIGNAL(fileCopied(QString)));
-    return m_connection->transferFiles(m_deploySpecs);
-}
-
-} // namespace Internal
-} // namespace Qt4ProjectManager
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshthread.h b/src/plugins/qt4projectmanager/qt-maemo/maemosshthread.h
deleted file mode 100644
index 79107d0f602..00000000000
--- a/src/plugins/qt4projectmanager/qt-maemo/maemosshthread.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Creator.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file.  Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights.  These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MAEMOSSHTHREAD_H
-#define MAEMOSSHTHREAD_H
-
-#include "maemodeviceconfigurations.h"
-
-#include <coreplugin/ssh/sshconnection.h>
-
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMutex>
-#include <QtCore/QThread>
-#include <QtCore/QWaitCondition>
-
-namespace Qt4ProjectManager {
-namespace Internal {
-
-template<class SshConnection> class MaemoSshThread : public QThread
-{
-    Q_DISABLE_COPY(MaemoSshThread)
-public:
-    QString error() const { return m_error; }
-    bool hasError() const { return !m_error.isEmpty(); }
-    void stop();
-    virtual void run();
-    ~MaemoSshThread();
-
-protected:
-    MaemoSshThread(const Core::SshServerInfo &server);
-    void createConnection();
-    bool stopRequested() const { return m_stopRequested; }
-    void waitForStop();
-
-    typename SshConnection::Ptr m_connection;
-
-private:
-    virtual bool runInternal() = 0;
-
-    const Core::SshServerInfo m_server;
-    bool m_stopRequested;
-    QString m_error;
-    QMutex m_mutex;
-    QWaitCondition m_waitCond;
-};
-
-
-class MaemoSshRunner : public MaemoSshThread<Core::InteractiveSshConnection>
-{
-    Q_OBJECT
-    Q_DISABLE_COPY(MaemoSshRunner)
-public:
-    MaemoSshRunner(const Core::SshServerInfo &server, const QString &command);
-
-signals:
-    void remoteOutput(const QString &output);
-
-private:
-    virtual bool runInternal();
-    Q_SLOT void handleRemoteOutput();
-    void initState();
-
-    static const QByteArray EndMarker;
-
-    const QString m_command;
-    const char *m_prompt;
-    int m_endMarkerCount;
-    bool m_promptEncountered;
-    QByteArray m_potentialEndMarkerPrefix;
-};
-
-
-class MaemoSshDeployer : public MaemoSshThread<Core::SftpConnection>
-{
-    Q_OBJECT
-    Q_DISABLE_COPY(MaemoSshDeployer)
-public:
-    MaemoSshDeployer(const Core::SshServerInfo &server,
-                     const QList<Core::SftpTransferInfo> &deploySpecs);
-
-signals:
-    void fileCopied(const QString &filePath);
-
-private:
-    virtual bool runInternal();
-
-    const QList<Core::SftpTransferInfo> m_deploySpecs;
-};
-
-} // namespace Internal
-} // namespace Qt4ProjectManager
-
-#endif // MAEMOSSHTHREAD_H
diff --git a/src/plugins/qt4projectmanager/qt-maemo/qt-maemo.pri b/src/plugins/qt4projectmanager/qt-maemo/qt-maemo.pri
index 346c1b8a062..30633dd68dd 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/qt-maemo.pri
+++ b/src/plugins/qt4projectmanager/qt-maemo/qt-maemo.pri
@@ -10,7 +10,6 @@ HEADERS += \
     $$PWD/maemosettingspage.h \
     $$PWD/maemosettingswidget.h \
     $$PWD/maemosshconfigdialog.h \
-    $$PWD/maemosshthread.h \
     $$PWD/maemotoolchain.h \
     $$PWD/maemopackagecreationstep.h \
     $$PWD/maemopackagecreationfactory.h \
@@ -33,7 +32,6 @@ SOURCES += \
     $$PWD/maemosettingspage.cpp \
     $$PWD/maemosettingswidget.cpp \
     $$PWD/maemosshconfigdialog.cpp \
-    $$PWD/maemosshthread.cpp \
     $$PWD/maemotoolchain.cpp \
     $$PWD/maemopackagecreationstep.cpp \
     $$PWD/maemopackagecreationfactory.cpp \
diff --git a/tests/manual/ssh/main.cpp b/tests/manual/ssh/main.cpp
new file mode 100644
index 00000000000..3a17c436fa3
--- /dev/null
+++ b/tests/manual/ssh/main.cpp
@@ -0,0 +1,177 @@
+#include <coreplugin/ssh/sftpchannel.h>
+#include <coreplugin/ssh/sshconnection.h>
+#include <coreplugin/ssh/sshremoteprocess.h>
+
+#include <QtCore/QCoreApplication>
+#include <QtCore/QList>
+#include <QtCore/QObject>
+#include <QtCore/QPair>
+#include <QtCore/QTimer>
+
+using namespace Core;
+
+class Test : public QObject {
+    Q_OBJECT
+public:
+    Test()
+    {
+        m_timeoutTimer.setSingleShot(true);
+        m_connection = SshConnection::create();
+        if (m_connection->state() != SshConnection::Unconnected) {
+            qDebug("Error: Newly created SSH connection has state %d.",
+                m_connection->state());
+        }
+
+        if (m_connection->createRemoteProcess(""))
+            qDebug("Error: Unconnected SSH connection creates remote process.");
+        if (m_connection->createSftpChannel())
+            qDebug("Error: Unconnected SSH connection creates SFTP channel.");
+
+        SshConnectionParameters noHost;
+        noHost.host = QLatin1String("hgdfxgfhgxfhxgfchxgcf");
+        noHost.port = 12345;
+        noHost.timeout = 10;
+
+        SshConnectionParameters noUser;
+        noUser.host = QLatin1String("localhost");
+        noUser.port = 22;
+        noUser.timeout = 30;
+        noUser.authType = SshConnectionParameters::AuthByPwd;
+        noUser.uname = QLatin1String("dumdidumpuffpuff");
+        noUser.uname = QLatin1String("whatever");
+
+        SshConnectionParameters wrongPwd;
+        wrongPwd.host = QLatin1String("localhost");
+        wrongPwd.port = 22;
+        wrongPwd.timeout = 30;
+        wrongPwd.authType = SshConnectionParameters::AuthByPwd;
+        wrongPwd.uname = QLatin1String("root");
+        noUser.uname = QLatin1String("thiscantpossiblybeapasswordcanit");
+
+        SshConnectionParameters invalidKeyFile;
+        invalidKeyFile.host = QLatin1String("localhost");
+        invalidKeyFile.port = 22;
+        invalidKeyFile.timeout = 30;
+        invalidKeyFile.authType = SshConnectionParameters::AuthByKey;
+        invalidKeyFile.uname = QLatin1String("root");
+        invalidKeyFile.privateKeyFile
+            = QLatin1String("somefilenamethatwedontexpecttocontainavalidkey");
+
+        // TODO: Create a valid key file and check for authentication error.
+
+        m_testSet << TestItem("Behavior with non-existing host",
+            noHost, ErrorList() << SshSocketError);
+        m_testSet << TestItem("Behavior with non-existing user", noUser,
+            ErrorList() << SshSocketError << SshTimeoutError
+                << SshAuthenticationError);
+        m_testSet << TestItem("Behavior with wrong password", wrongPwd,
+            ErrorList() << SshSocketError << SshTimeoutError
+                << SshAuthenticationError);
+        m_testSet << TestItem("Behavior with invalid key file", invalidKeyFile,
+            ErrorList() << SshSocketError << SshTimeoutError
+                << SshKeyFileError);
+
+        runNextTest();
+    }
+
+    ~Test();
+
+private slots:
+    void handleConnected()
+    {
+        qDebug("Error: Received unexpected connected() signal.");
+        qApp->quit();
+    }
+
+    void handleDisconnected()
+    {
+        qDebug("Error: Received unexpected disconnected() signal.");
+        qApp->quit();
+    }
+
+    void handleDataAvailable(const QString &msg)
+    {
+        qDebug("Error: Received unexpected dataAvailable() signal. "
+            "Message was: '%s'.", qPrintable(msg));
+        qApp->quit();
+    }
+
+    void handleError(SshError error)
+    {
+        if (m_testSet.isEmpty()) {
+            qDebug("Error: Received error %d, but no test was running.", error);
+            qApp->quit();
+        }
+
+        const TestItem testItem = m_testSet.takeFirst();
+        if (testItem.allowedErrors.contains(error)) {
+            qDebug("Received error %d, as expected.", error);
+            if (m_testSet.isEmpty()) {
+                qDebug("All tests finished successfully.");
+                qApp->quit();
+            } else {
+                runNextTest();
+            }
+        } else {
+            qDebug("Received unexpected error %d.", error);
+            qApp->quit();
+        }
+    }
+
+    void handleTimeout()
+    {
+        if (m_testSet.isEmpty()) {
+            qDebug("Error: timeout, but no test was running.");
+            qApp->quit();
+        }
+        const TestItem testItem = m_testSet.takeFirst();
+        qDebug("Error: The following test timed out: %s", testItem.description);
+    }
+
+private:
+    void runNextTest()
+    {
+        if (m_connection)
+            disconnect(m_connection.data(), 0, this, 0);
+        m_connection = SshConnection::create();
+        connect(m_connection.data(), SIGNAL(connected()), this,
+            SLOT(handleConnected()));
+        connect(m_connection.data(), SIGNAL(disconnected()), this,
+            SLOT(handleDisconnected()));
+        connect(m_connection.data(), SIGNAL(dataAvailable(QString)), this,
+            SLOT(handleDataAvailable(QString)));
+        connect(m_connection.data(), SIGNAL(error(SshError)), this,
+            SLOT(handleError(SshError)));
+        const TestItem &nextItem = m_testSet.first();
+        m_timeoutTimer.stop();
+        m_timeoutTimer.setInterval(qMax(10000, nextItem.params.timeout * 1000));
+        qDebug("Testing: %s", nextItem.description);
+        m_connection->connectToHost(m_testSet.first().params);
+    }
+
+    SshConnection::Ptr m_connection;
+    typedef QList<SshError> ErrorList;
+    struct TestItem {
+        TestItem(const char *d, const SshConnectionParameters &p,
+            const ErrorList &e) : description(d), params(p), allowedErrors(e) {}
+
+        const char *description;
+        SshConnectionParameters params;
+        ErrorList allowedErrors;
+    };
+    QList<TestItem> m_testSet;
+    QTimer m_timeoutTimer;
+};
+
+Test::~Test() {}
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication a(argc, argv);
+    Test t;
+
+    return a.exec();
+}
+
+
+#include "main.moc"
diff --git a/tests/manual/ssh/ssh.pro b/tests/manual/ssh/ssh.pro
new file mode 100644
index 00000000000..ac61d201669
--- /dev/null
+++ b/tests/manual/ssh/ssh.pro
@@ -0,0 +1,25 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2010-07-01T09:44:44
+#
+#-------------------------------------------------
+
+INCLUDEPATH += ../../../src/plugins
+CREATORLIBPATH = ../../../lib/qtcreator
+PLUGINPATH=$$CREATORLIBPATH/plugins/Nokia
+LIBS *= -L$$PLUGINPATH -lCore
+LIBS *= -L$$CREATORLIBPATH
+include (../../../src/plugins/coreplugin/coreplugin_dependencies.pri)
+
+QT       += core
+
+QT       -= gui
+
+TARGET = ssh
+CONFIG   += console
+CONFIG   -= app_bundle
+
+TEMPLATE = app
+
+
+SOURCES += main.cpp
-- 
GitLab