ultimatepp/uppsrc/Core/SSH
oblivion 7846ba34c3 SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements.
git-svn-id: svn://ultimatepp.org/upp/trunk@12237 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-09-02 18:56:26 +00:00
..
libssh2 Core/SSH added (thanks Oblivion) 2018-07-31 08:17:23 +00:00
src.tpp SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Channels.cpp SSH: Scp abort mechanism improved, experimental SFtpFileSystemInfo class added. SFtp now uses the new Upp::CopyStream() functiion. Cosmetics. 2018-08-30 21:17:32 +00:00
Channels.h SSH: Scp abort mechanism improved, experimental SFtpFileSystemInfo class added. SFtp now uses the new Upp::CopyStream() functiion. Cosmetics. 2018-08-30 21:17:32 +00:00
Copying Core/SSH added (thanks Oblivion) 2018-07-31 08:17:23 +00:00
Core.cpp SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Core.h SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Exec.cpp SSH: Standard channels (scp, exec, tunnel, shell) are all re-added. Minor bugfixes, cosmetics, cleanup. Docs updated. 2018-08-15 20:29:12 +00:00
Hosts.cpp SFtp: CopyStream has replaced the Upp::CopyStream. 2018-08-25 19:20:22 +00:00
Hosts.h SSH: SshHosts error handling improved. Various fixes & cosmetics. 2018-08-23 12:50:05 +00:00
Issues SSH: Standard channels (scp, exec, tunnel, shell) are all re-added. Minor bugfixes, cosmetics, cleanup. Docs updated. 2018-08-15 20:29:12 +00:00
libssh2upp.c Core/SSH added (thanks Oblivion) 2018-07-31 08:17:23 +00:00
Malloc.cpp Core/SSH: SFtpStream 2018-08-09 13:11:40 +00:00
ReadMe SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Scp.cpp SSH: Scp abort mechanism improved, experimental SFtpFileSystemInfo class added. SFtp now uses the new Upp::CopyStream() functiion. Cosmetics. 2018-08-30 21:17:32 +00:00
Session.cpp SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Session.h SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
SFtp.cpp SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
SFtp.h SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
SFtpStream.cpp SFtp: File transfer methods (String/Stream) are refactored. They can now take advantage of WhenProgress gate. Various fixes and refactoring. 2018-08-13 19:13:39 +00:00
Shell.cpp SSH: Topic docs for SFtpStream and its derivatives are added. 2018-08-17 17:56:34 +00:00
SSH.h SSH: Scp abort mechanism improved, experimental SFtpFileSystemInfo class added. SFtp now uses the new Upp::CopyStream() functiion. Cosmetics. 2018-08-30 21:17:32 +00:00
SSH.upp SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Todo SFtp: GetDefaultDir() method added. SshSession::WhenPhase added. Docs updated. Various improvements. 2018-09-02 18:56:26 +00:00
Tunnel.cpp SFtp: File transfer methods (String/Stream) are refactored. They can now take advantage of WhenProgress gate. Various fixes and refactoring. 2018-08-13 19:13:39 +00:00

SSH package for U++
--------------------
SSH package is a flexible and easy-to-use libssh2 wrapper for Ultimate++.
It supports both console and GUI-based applications on POSIX-compliant operating systems and
MS Windows (tm).

Classes:
--------------------

- Base (core) class  -> Ssh
  - Ssh session        -----> SshSession
  - Sftp subsystem     -----> SFtp
  - Ssh channel        -----> SshChannel
      - Scp channel                 -----> Scp
      - Exec channel                -----> SshExec
      - Real-time interactive shell -----> SshShell
      - X11 forwarding              -----> SshShell (as operation mode)      
      - Tcp/IP and port forwarding  -----> SshTunnel

- Known hosts manager -> SshHosts

Features and Highlights:
--------------------

- Ssh-derived classes have pick semantics, based on RAII principle, support RTTI, and allow
  polymorphism (i.e. different classes can be stored in the same arrays, etc.) through a common
  interface. 
- Uses U++ memory allocators (Native allocators is also a compile-time option)
- Uses OpenSSL by default. 
- Supports 3rd-party network proxies.
- Supports known hosts verification mechanism.
- Supports password, public key, host-based, and keyboard-interactive authentication methods.
- Supports ssh-agents.
- Supports real-time interactive command line (shell) interface with both console and GUI integration
  (works on both Windows and Posix-compliant OS'es)
- Supports multiple X11 connection forwarding.
- Supports Tcp/IP and port forwarding.
- Supports detailed (full) debug logging.

Todo:
--------------------

- Improve documentation.

Reference examples:
-------------------

- SshBasics:    Demonstrates basic capabilities of SSH package.
- SFtpBrowser:  Demonstrates a basic sftp browser with GUI.