ultimatepp/uppsrc/Core/SSH
oblivion c46da97d84 SFtp: CopyStream has replaced the Upp::CopyStream.
git-svn-id: svn://ultimatepp.org/upp/trunk@12185 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2018-08-25 19:20:22 +00:00
..
libssh2 Core/SSH added (thanks Oblivion) 2018-07-31 08:17:23 +00:00
src.tpp SSH: SshHosts error handling improved. Various fixes & cosmetics. 2018-08-23 12:50:05 +00:00
Channels.cpp Scp: Load method is fixed: File size is now correctly checked before file transfers. 2018-08-17 15:07:04 +00:00
Channels.h Scp: Load method is fixed: File size is now correctly checked before file transfers. 2018-08-17 15:07:04 +00:00
Copying Core/SSH added (thanks Oblivion) 2018-07-31 08:17:23 +00:00
Core.cpp SSH: SshHosts error handling improved. Various fixes & cosmetics. 2018-08-23 12:50:05 +00:00
Core.h 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
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 SSH: SshHosts error handling improved. Various fixes & cosmetics. 2018-08-23 12:50:05 +00:00
Scp.cpp SSH: SshHosts error handling improved. Various fixes & cosmetics. 2018-08-23 12:50:05 +00:00
Session.cpp SFtp: CopyStream has replaced the Upp::CopyStream. 2018-08-25 19:20:22 +00:00
Session.h SSH: SshHosts error handling improved. Various fixes & cosmetics. 2018-08-23 12:50:05 +00:00
SFtp.cpp SFtp: CopyStream has replaced the Upp::CopyStream. 2018-08-25 19:20:22 +00:00
SFtp.h SFtp: CopyStream has replaced the Upp::CopyStream. 2018-08-25 19:20:22 +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: Standard channels (scp, exec, tunnel, shell) are all re-added. Minor bugfixes, cosmetics, cleanup. Docs updated. 2018-08-15 20:29:12 +00:00
SSH.upp 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
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.
- SFtpGUI:   Demonstrates a simple sftp browser with GUI.