From 226264a5ef3b540c35694cabce210edebf64a0fb Mon Sep 17 00:00:00 2001 From: John Safranek Date: Tue, 14 Aug 2018 13:19:49 -0700 Subject: [PATCH] Next Release 1. Removed the change log from README.md to ChangeLog.md. 2. Touched the configure and version for next release. --- ChangeLog.md | 38 +++++++++++++ Makefile.am | 3 +- README | 140 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 36 +----------- configure.ac | 6 +- wolfssh/version.h | 4 +- 6 files changed, 185 insertions(+), 42 deletions(-) create mode 100644 ChangeLog.md create mode 100644 README diff --git a/ChangeLog.md b/ChangeLog.md new file mode 100644 index 00000000..9a9b9974 --- /dev/null +++ b/ChangeLog.md @@ -0,0 +1,38 @@ +### wolfSSH v1.3.0 (08/15/2018) + +- Accepted code submission from Stephen Casner for SCP support. Thanks Stephen! +- Added SCP server support. +- Added SFTP client and server support. +- Updated the autoconf scripts. +- Other bug fixes and enhancements. + +### wolfSSH v1.2.0 (09/26/2017) + +- Added ECDH Group Exchange with SHA2 hashing and curves nistp256, + nistp384, and nistp521. +- Added ECDSA with SHA2 hashing and curves nistp256, nistp384, and nistp521. +- Added client support. +- Added an example client that talks to the echoserver. +- Changed the echoserver to allow only one connection, but multiple + connections are allowed with a command line option. +- Added option to echoserver to offer an ECC public key. +- Added a Visual Studio solution to build the library, examples, and tests. +- Other bug fixes and enhancements. + +### wolfSSH v1.1.0 (06/16/2017) + +- Added DH Group Exchange with SHA-256 hashing to the key exchange. +- Removed the canned banner and provided a function to set a banner string. + If no sting is provided, no banner is sent. +- Expanded the make checking to include an API test. +- Added a function that returns session statistics. +- When connecting to the echoserver, hitting Ctrl-E will give you some + session statistics. +- Parse and reply to the Global Request message. +- Fixed a bug with client initiated rekeying. +- Fixed a bug with the GetString function. +- Other small bug fixes and enhancements. + +### wolfSSH v1.0.0 (10/24/2016) + +Initial release. diff --git a/Makefile.am b/Makefile.am index 12163aea..76b87b8b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,8 +29,7 @@ dist_example_DATA= ACLOCAL_AMFLAGS= -I m4 -EXTRA_DIST+= README.md -EXTRA_DIST+= LICENSING +EXTRA_DIST+= LICENSING README.md ChangeLog.md include src/include.am include wolfssh/include.am diff --git a/README b/README new file mode 100644 index 00000000..a97200eb --- /dev/null +++ b/README @@ -0,0 +1,140 @@ +wolfssh +======= + +wolfSSL's Embeddable SSH Server + +dependencies +------------ + +wolfSSH is dependent on wolfCrypt. The simplest configuration of wolfSSL +required for wolfSSH is the default build. + + $ cd wolfssl + $ ./configure [OPTIONS] --enable-ssh + $ make check + $ sudo make install + +To use the key generation function in wolfSSH, wolfSSL will need to be +configured with keygen: `--enable-keygen`. + +If the bulk of wolfSSL code isn't desired, wolfSSL can be configured with +the crypto only option: `--enable-cryptonly`. + + +building +-------- + +From the source directory run: + + $ ./autogen.sh + $ ./configure + $ make + $ make check + +The `autogen.sh` script only has to be run the first time after cloning the +repository. If you have already run it or are using code from a source +archive, you should skip it. + +For building under Windows with Visual Studio, see the file +"ide/winvs/README.md". + +NOTE: On resource constrained devices the DEFAULT_WINDOW_SZ may need to be set +to a lower size. By default channels are set to handle 1 Mb of data being sent +and received. An example of setting a lower window size for new channels would +be as follows "./configure CPPFLAGS=-DDEFAULT_WINDOW_SZ=16384" + +examples +-------- + +The directory `examples` contains an echoserver that any client should be able +to connect to. From the terminal run: + + $ ./examples/echoserver/echoserver + +From another terminal run: + + $ ssh_client localhost -p 22222 + +The server will send a canned banner to the client: + + wolfSSH Example Echo Server + +Characters typed into the client will be echoed to the screen by the server. +If the characters are echoed twice, the client has local echo enabled. The +echo server isn't being a proper terminal so the CR/LF translation will not +work as expected. + + +testing notes +------------- + +After cloning the repository, be sure to make the testing private keys read- +only for the user, otherwise ssh_client will tell you to do it. + + $ chmod 0600 ./keys/gretel-key-rsa.pem ./keys/hansel-key-rsa.pem \ + ./keys/gretel-key-ecc.pem ./keys/hansel-key-ecc.pem + +Authentication against the example echoserver can be done with a password or +public key. To use a password the command line: + + $ ssh_client -p 22222 USER@localhost + +Where the `USER` and password pairs are: + + jill:upthehill + jack:fetchapail + +To use public key authentication use the command line: + + $ ssh_client -i ./keys/key-USER.pem -p 22222 USER@localhost + +Where the user can be `gretel` or `hansel`. + + +scp support +----------- + +wolfSSH includes server-side support for scp, which includes support for both +copying files 'to' the server, and copying files 'from' the server. Both +single file and recursive directory copy are supported with the default +send and receive callbacks. + +To compile wolfSSH with scp support, use the `--enable-scp` build option +or define `WOLFSSL_SCP`: + + $ ./configure --enable-scp + $ make + +For full API usage and implementation details, please see the wolfSSH User +Manual. + +The wolfSSL example server has been set up to accept a single scp request, +and is compiled by default when compiling the wolfSSH library. To start the +example server, run: + + $ ./examples/server/server + +Standard scp commands can be used on the client side. The following are a +few examples, where `scp` represents the ssh client you are using. + +To copy a single file TO the server, using the default example user "jill": + + $ scp -P 22222 jill@127.0.0.1: + +To copy the same single file TO the server, but with timestamp and in +verbose mode: + + $ scp -v -p -P 22222 jill@127.0.0.1: + +To recursively copy a directory TO the server: + + $ scp -P 22222 -r jill@127.0.0.1: + +To copy a single file FROM the server to the local client: + + $ scp -P 22222 jill@127.0.0.1: + +To recursively copy a directory FROM the server to the local client: + + $ scp -P 22222 -r jill@127.0.0.1: + diff --git a/README.md b/README.md index 642d8f88..a97200eb 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ For building under Windows with Visual Studio, see the file NOTE: On resource constrained devices the DEFAULT_WINDOW_SZ may need to be set to a lower size. By default channels are set to handle 1 Mb of data being sent and received. An example of setting a lower window size for new channels would -be as follows "./configure C_EXTRA_FLAGS=-DDEFAULT_WINDOW_SZ=16384" +be as follows "./configure CPPFLAGS=-DDEFAULT_WINDOW_SZ=16384" examples -------- @@ -138,37 +138,3 @@ To recursively copy a directory FROM the server to the local client: $ scp -P 22222 -r jill@127.0.0.1: - -release notes -------------- - -### wolfSSH v1.2.0 (09/26/2017) - -- Added ECDH Group Exchange with SHA2 hashing and curves nistp256, - nistp384, and nistp521. -- Added ECDSA with SHA2 hashing and curves nistp256, nistp384, and nistp521. -- Added client support. -- Added an example client that talks to the echoserver. -- Changed the echoserver to allow only one connection, but multiple - connections are allowed with a command line option. -- Added option to echoserver to offer an ECC public key. -- Added a Visual Studio solution to build the library, examples, and tests. -- Other bug fixes and enhancements. - -### wolfSSH v1.1.0 (06/16/2017) - -- Added DH Group Exchange with SHA-256 hashing to the key exchange. -- Removed the canned banner and provided a function to set a banner string. - If no sting is provided, no banner is sent. -- Expanded the make checking to include an API test. -- Added a function that returns session statistics. -- When connecting to the echoserver, hitting Ctrl-E will give you some - session statistics. -- Parse and reply to the Global Request message. -- Fixed a bug with client initiated rekeying. -- Fixed a bug with the GetString function. -- Other small bug fixes and enhancements. - -### wolfSSH v1.0.0 (10/24/2016) - -Initial release. diff --git a/configure.ac b/configure.ac index ca55aa39..5064b39f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ # wolfssh -# Copyright (C) 2014-2017 wolfSSL Inc. +# Copyright (C) 2014-2018 wolfSSL Inc. # All right reserved. AC_COPYRIGHT([Copyright (C) 2014-2018 wolfSSL Inc.]) -AC_INIT([wolfssh],[1.2.2],[support@wolfssl.com],[wolfssh],[https://www.wolfssl.com]) +AC_INIT([wolfssh],[1.3.0],[support@wolfssl.com],[wolfssh],[https://www.wolfssl.com]) AC_PREREQ([2.63]) AC_CONFIG_AUX_DIR([build-aux]) @@ -20,7 +20,7 @@ AC_ARG_PROGRAM AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([src/config.h]) -WOLFSSH_LIBRARY_VERSION=4:0:0 +WOLFSSH_LIBRARY_VERSION=4:0:3 # | | | # +------+ | +---+ # | | | diff --git a/wolfssh/version.h b/wolfssh/version.h index c3c96ae8..0ae75ba9 100644 --- a/wolfssh/version.h +++ b/wolfssh/version.h @@ -33,8 +33,8 @@ extern "C" { #endif -#define LIBWOLFSSH_VERSION_STRING "1.2.2" -#define LIBWOLFSSH_VERSION_HEX 0x01002002 +#define LIBWOLFSSH_VERSION_STRING "1.3.0" +#define LIBWOLFSSH_VERSION_HEX 0x01003000 #ifdef __cplusplus }