mirror of https://github.com/wolfSSL/wolfssh.git
add regression test and use a better macro name
parent
ab3622e672
commit
bbe3bac2d5
|
@ -108,6 +108,25 @@ jobs:
|
|||
./configure --enable-all LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include -DWOLFSSH_NO_FPKI -DWOLFSSH_NO_SFTP_TIMEOUT -DWOLFSSH_MAX_SFTP_RW=4000000 -DMAX_PATH_SZ=120" --enable-static --disable-shared && make
|
||||
sudo timeout --preserve-status -s 2 5 valgrind --error-exitcode=1 --leak-check=full ./apps/wolfsshd/wolfsshd -D -f sshd_config -h ./keys/server-key.pem -d -p 22222
|
||||
|
||||
# regression test, check that cat command does not hang
|
||||
- name: Test cat command for hanging
|
||||
working-directory: ./wolfssh/
|
||||
timeout-minutes: 1
|
||||
run: |
|
||||
touch sshd_config.txt
|
||||
echo "AuthorizedKeysFile $PWD/authorized_keys_test" >> sshd_config.txt
|
||||
cat ./keys/hansel-*.pub > authorized_keys_test
|
||||
sed -i.bak "s/hansel/$USER/" ./authorized_keys_test
|
||||
./configure --enable-all LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include -DWOLFSSH_NO_FPKI -DWOLFSSH_NO_SFTP_TIMEOUT -DWOLFSSH_MAX_SFTP_RW=4000000 -DMAX_PATH_SZ=120" --enable-static --disable-shared && make
|
||||
sudo ./apps/wolfsshd/wolfsshd -f sshd_config.txt -h ./keys/server-key.pem -p 22225
|
||||
chmod 600 ./keys/hansel-key-rsa.pem
|
||||
tail -c 50000 /dev/urandom > test
|
||||
while ! nc -z 127.0.0.1 22225; do echo "waiting for wolfSSHd"; sleep 0.2; done
|
||||
cat test | ssh -vvv -T -i ./keys/hansel-key-rsa.pem -oStrictHostKeyChecking=no 127.0.0.1 -p 22225 'cat > test-file'
|
||||
diff test ~/test-file
|
||||
sudo pkill wolfsshd
|
||||
|
||||
|
||||
- name: configure with debug
|
||||
working-directory: ./wolfssh/
|
||||
run : |
|
||||
|
|
|
@ -57,6 +57,11 @@
|
|||
#define WOLFSSHD_TIMEOUT 1
|
||||
#endif
|
||||
|
||||
#ifdef EXAMPLE_BUFFER_SZ
|
||||
#warning use WOLFSSHD_SHELL_BUFFER_SZ instead of EXAMPLE_BUFFER_SZ
|
||||
#define WOLFSSHD_SHELL_BUFFER_SZ EXAMPLE_BUFFER_SZ
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSH_SHELL) && !defined(_WIN32)
|
||||
#ifdef HAVE_PTY_H
|
||||
#include <pty.h>
|
||||
|
@ -815,11 +820,11 @@ static int SHELL_Subsystem(WOLFSSHD_CONNECTION* conn, WOLFSSH* ssh,
|
|||
{
|
||||
BOOL ret;
|
||||
word32 shellChannelId = 0;
|
||||
#ifndef EXAMPLE_BUFFER_SZ
|
||||
#ifndef WOLFSSHD_SHELL_BUFFER_SZ
|
||||
/* default to try and read max packet size */
|
||||
#define EXAMPLE_BUFFER_SZ 32768
|
||||
#define WOLFSSHD_SHELL_BUFFER_SZ 32768
|
||||
#endif
|
||||
byte shellBuffer[EXAMPLE_BUFFER_SZ];
|
||||
byte shellBuffer[WOLFSSHD_SHELL_BUFFER_SZ];
|
||||
int cnt_r, cnt_w;
|
||||
HANDLE ptyIn = NULL, ptyOut = NULL;
|
||||
HANDLE cnslIn = NULL, cnslOut = NULL;
|
||||
|
@ -1106,9 +1111,9 @@ static int SHELL_Subsystem(WOLFSSHD_CONNECTION* conn, WOLFSSH* ssh,
|
|||
}
|
||||
|
||||
if (readPending) {
|
||||
WMEMSET(shellBuffer, 0, EXAMPLE_BUFFER_SZ);
|
||||
WMEMSET(shellBuffer, 0, WOLFSSHD_SHELL_BUFFER_SZ);
|
||||
|
||||
if (ReadFile(ptyOut, shellBuffer, EXAMPLE_BUFFER_SZ, &cnt_r,
|
||||
if (ReadFile(ptyOut, shellBuffer, WOLFSSHD_SHELL_BUFFER_SZ, &cnt_r,
|
||||
NULL) != TRUE) {
|
||||
wolfSSH_Log(WS_LOG_INFO,
|
||||
"[SSHD] Error reading from pipe for console");
|
||||
|
@ -1166,15 +1171,15 @@ static int SHELL_Subsystem(WOLFSSHD_CONNECTION* conn, WOLFSSH* ssh,
|
|||
int stdoutPipe[2], stderrPipe[2];
|
||||
pid_t childPid;
|
||||
|
||||
#ifndef EXAMPLE_BUFFER_SZ
|
||||
#ifndef WOLFSSHD_SHELL_BUFFER_SZ
|
||||
/* default to try and read max packet size */
|
||||
#define EXAMPLE_BUFFER_SZ 32768
|
||||
#define WOLFSSHD_SHELL_BUFFER_SZ 32768
|
||||
#endif
|
||||
#ifndef MAX_IDLE_COUNT
|
||||
#define MAX_IDLE_COUNT 2
|
||||
#endif
|
||||
byte shellBuffer[EXAMPLE_BUFFER_SZ];
|
||||
byte channelBuffer[EXAMPLE_BUFFER_SZ];
|
||||
byte shellBuffer[WOLFSSHD_SHELL_BUFFER_SZ];
|
||||
byte channelBuffer[WOLFSSHD_SHELL_BUFFER_SZ];
|
||||
char* forcedCmd;
|
||||
int windowFull = 0; /* Contains size of bytes from shellBuffer that did
|
||||
* not get passed on to wolfSSH yet. This happens
|
||||
|
|
Loading…
Reference in New Issue