Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tinyssh for openSUSE:Factory checked in at 2024-01-28 19:42:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tinyssh (Old) and /work/SRC/openSUSE:Factory/.tinyssh.new.1815 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tinyssh" Sun Jan 28 19:42:46 2024 rev:7 rq:1141978 version:20240101 Changes: -------- --- /work/SRC/openSUSE:Factory/tinyssh/tinyssh.changes 2023-01-02 16:38:27.820880153 +0100 +++ /work/SRC/openSUSE:Factory/.tinyssh.new.1815/tinyssh.changes 2024-01-28 19:43:03.053449815 +0100 @@ -1,0 +2,12 @@ +Sat Jan 27 16:28:24 UTC 2024 - Dirk Müller <[email protected]> + +- update to 20240101 (bsc#1218197, CVE-2023-48795): + * fixed channel_forkpty() race condition between close(slave) + in parent process and login_tty(slave) in child process + * fixed behavior when using terminal mode and stdin redirected + to /dev/null 'ssh -tt -n' + * added an 'strict-key' key exchange kex-strict- + [email protected] (Mitigates CVE-2023-48795 "Terrapin + attack") + +------------------------------------------------------------------- Old: ---- tinyssh-20230101.tar.gz New: ---- tinyssh-20240101.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tinyssh.spec ++++++ --- /var/tmp/diff_new_pack.H5o9To/_old 2024-01-28 19:43:03.485465376 +0100 +++ /var/tmp/diff_new_pack.H5o9To/_new 2024-01-28 19:43:03.485465376 +0100 @@ -1,7 +1,7 @@ # # spec file for package tinyssh # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: tinyssh -Version: 20230101 +Version: 20240101 Release: 0 Summary: A minimalistic SSH server which implements only a subset of SSHv2 features License: CC0-1.0 ++++++ tinyssh-20230101.tar.gz -> tinyssh-20240101.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/README.md new/tinyssh-20240101/README.md --- old/tinyssh-20230101/README.md 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/README.md 2024-01-01 09:13:59.000000000 +0100 @@ -17,8 +17,8 @@ * beta(updated): 2018.01.01 - ????.??.?? (ready for production use) * stable: expected ????.??.?? - (ready for production use - including post-quantum crypto) -### Current release (20220801) ### -* has 62899 words of code +### Current release (20240101) ### +* has 63899 words of code * beta release ### How-to run ### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/channel.c new/tinyssh-20240101/tinyssh/channel.c --- old/tinyssh-20230101/tinyssh/channel.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/channel.c 2024-01-01 09:13:59.000000000 +0100 @@ -233,7 +233,7 @@ if (channel.fd0 == -1) bug_proto(); channel.remoteeof = 1; - if (channel.len0 == 0) { + if (channel.len0 == 0 && !channel.flagterminal) { close(channel.fd0); channel.fd0 = -1; } @@ -367,7 +367,7 @@ byte_copy(channel.buf0, channel.len0 - w, channel.buf0 + w); purge(channel.buf0 + channel.len0 - w, w); channel.len0 -= w; - if (channel.remoteeof && channel.len0 == 0) { close(channel.fd0); channel.fd0 = -1; } + if (channel.remoteeof && channel.len0 == 0 && !channel.flagterminal) { close(channel.fd0); channel.fd0 = -1; } return 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/channel_forkpty.c new/tinyssh-20240101/tinyssh/channel_forkpty.c --- old/tinyssh-20230101/tinyssh/channel_forkpty.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/channel_forkpty.c 2024-01-01 09:13:59.000000000 +0100 @@ -27,6 +27,7 @@ extern int login_tty(int); #endif +#include "e.h" #include "coe.h" #include "blocking.h" #include "global.h" @@ -118,9 +119,12 @@ long long channel_forkpty(int fd[3], int master, int slave) { - long long pid; + long long pid, r; + char ch; + int pi[2]; if (!ttyname(slave)) return -1; + if (pipe(pi) == -1) return -1; fd[0] = fd[1] = master; fd[2] = -1; @@ -128,21 +132,41 @@ pid = fork(); switch (pid) { case -1: + close(pi[0]); + close(pi[1]); close(slave); close(master); return -1; case 0: close(master); + close(pi[0]); #ifdef HASLOGINTTY - if (!ttyname(slave)) global_die(111); if (login_tty(slave) == -1) global_die(111); #else if (_login_tty(slave) == -1) global_die(111); #endif + /* Trigger a read event on the other side of the pipe. */ + do { + r = write(pi[1], "", 1); + } while (r == -1 && errno == EINTR); + close(pi[1]); + return 0; default: + close(pi[1]); coe_enable(master); blocking_disable(master); + + /* + Wait until child calls login_tty(slave), so that we can safely + close(slave). Fixes race condition between close(slave) in parent + and login_tty(slave) in child process. + */ + do { + r = read(pi[0], &ch, sizeof ch); + } while (r == -1 && errno == EINTR); + close(pi[0]); + close(slave); return pid; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/log.c new/tinyssh-20240101/tinyssh/log.c --- old/tinyssh-20230101/tinyssh/log.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/log.c 2024-01-01 09:13:59.000000000 +0100 @@ -20,7 +20,7 @@ static const char *logtext = "x"; static char logstring[9] = "________"; -static int loglevel = 1; +int loglevel = 1; static int logflagfnln = 1; static int logflagsyslog = 0; @@ -130,6 +130,9 @@ case 3: m = "debug"; break; + case 4: + m = "tracing"; + break; default: m = "unknown"; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/log.h new/tinyssh-20240101/tinyssh/log.h --- old/tinyssh-20230101/tinyssh/log.h 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/log.h 2024-01-01 09:13:59.000000000 +0100 @@ -4,6 +4,8 @@ extern void log_init(int, const char *, int, int); extern char *log_string(void); +extern int loglevel; + extern void log_9_( int, int, @@ -20,7 +22,12 @@ const char *); /* usage */ -#define log_u9(a,b,c,d,e,f,g,h,i) log_9_(0,1,__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) +#define log_u(a,b,c,d,e,f,g,h,i,j,k) \ + do { \ + if (loglevel < 0) break; \ + log_9_(0,1,a,b,c,d,e,f,g,h,i,j,k); \ + } while (0) +#define log_u9(a,b,c,d,e,f,g,h,i) log_u(__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) #define log_u8(a,b,c,d,e,f,g,h) log_u9(a,b,c,d,e,f,g,h,0) #define log_u7(a,b,c,d,e,f,g) log_u8(a,b,c,d,e,f,g,0) #define log_u6(a,b,c,d,e,f) log_u7(a,b,c,d,e,f,0) @@ -31,7 +38,12 @@ #define log_u1(a) log_u2(a,0) /* fatal */ -#define log_f9(a,b,c,d,e,f,g,h,i) log_9_(1,0,__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) +#define log_f(a,b,c,d,e,f,g,h,i,j,k) \ + do { \ + if (loglevel < 1) break; \ + log_9_(1,0,a,b,c,d,e,f,g,h,i,j,k); \ + } while (0) +#define log_f9(a,b,c,d,e,f,g,h,i) log_f(__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) #define log_f8(a,b,c,d,e,f,g,h) log_f9(a,b,c,d,e,f,g,h,0) #define log_f7(a,b,c,d,e,f,g) log_f8(a,b,c,d,e,f,g,0) #define log_f6(a,b,c,d,e,f) log_f7(a,b,c,d,e,f,0) @@ -42,7 +54,12 @@ #define log_f1(a) log_f2(a,0) /* warning */ -#define log_w9(a,b,c,d,e,f,g,h,i) log_9_(2,0,__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) +#define log_w(a,b,c,d,e,f,g,h,i,j,k) \ + do { \ + if (loglevel < 2) break; \ + log_9_(2,0,a,b,c,d,e,f,g,h,i,j,k); \ + } while (0) +#define log_w9(a,b,c,d,e,f,g,h,i) log_w(__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) #define log_w8(a,b,c,d,e,f,g,h) log_w9(a,b,c,d,e,f,g,h,0) #define log_w7(a,b,c,d,e,f,g) log_w8(a,b,c,d,e,f,g,0) #define log_w6(a,b,c,d,e,f) log_w7(a,b,c,d,e,f,0) @@ -53,7 +70,12 @@ #define log_w1(a) log_w2(a,0) /* info */ -#define log_i9(a,b,c,d,e,f,g,h,i) log_9_(2,1,__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) +#define log_i(a,b,c,d,e,f,g,h,i,j,k) \ + do { \ + if (loglevel < 2) break; \ + log_9_(2,1,a,b,c,d,e,f,g,h,i,j,k); \ + } while (0) +#define log_i9(a,b,c,d,e,f,g,h,i) log_i(__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) #define log_i8(a,b,c,d,e,f,g,h) log_i9(a,b,c,d,e,f,g,h,0) #define log_i7(a,b,c,d,e,f,g) log_i8(a,b,c,d,e,f,g,0) #define log_i6(a,b,c,d,e,f) log_i7(a,b,c,d,e,f,0) @@ -64,7 +86,12 @@ #define log_i1(a) log_i2(a,0) /* debug */ -#define log_d9(a,b,c,d,e,f,g,h,i) log_9_(3,1,__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) +#define log_d(a,b,c,d,e,f,g,h,i,j,k) \ + do { \ + if (loglevel < 3) break; \ + log_9_(3,1,a,b,c,d,e,f,g,h,i,j,k); \ + } while (0) +#define log_d9(a,b,c,d,e,f,g,h,i) log_d(__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) #define log_d8(a,b,c,d,e,f,g,h) log_d9(a,b,c,d,e,f,g,h,0) #define log_d7(a,b,c,d,e,f,g) log_d8(a,b,c,d,e,f,g,0) #define log_d6(a,b,c,d,e,f) log_d7(a,b,c,d,e,f,0) @@ -74,4 +101,20 @@ #define log_d2(a,b) log_d3(a,b,0) #define log_d1(a) log_d2(a,0) +/* tracing */ +#define log_t(a,b,c,d,e,f,g,h,i,j,k) \ + do { \ + if (loglevel < 4) break; \ + log_9_(4,1,a,b,c,d,e,f,g,h,i,j,k); \ + } while (0) +#define log_t9(a,b,c,d,e,f,g,h,i) log_t(__FILE__,__LINE__,a,b,c,d,e,f,g,h,i) +#define log_t8(a,b,c,d,e,f,g,h) log_t9(a,b,c,d,e,f,g,h,0) +#define log_t7(a,b,c,d,e,f,g) log_t8(a,b,c,d,e,f,g,0) +#define log_t6(a,b,c,d,e,f) log_t7(a,b,c,d,e,f,0) +#define log_t5(a,b,c,d,e) log_t6(a,b,c,d,e,0) +#define log_t4(a,b,c,d) log_t5(a,b,c,d,0) +#define log_t3(a,b,c) log_t4(a,b,c,0) +#define log_t2(a,b) log_t3(a,b,0) +#define log_t1(a) log_t2(a,0) + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/main_tinysshd.c new/tinyssh-20240101/tinyssh/main_tinysshd.c --- old/tinyssh-20230101/tinyssh/main_tinysshd.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/main_tinysshd.c 2024-01-01 09:13:59.000000000 +0100 @@ -89,7 +89,7 @@ while (*++x) { if (*x == 'q') { flagverbose = 0; continue; } if (*x == 'Q') { flagverbose = 1; continue; } - if (*x == 'v') { if (flagverbose >= 2) flagverbose = 3; else flagverbose = 2; continue; } + if (*x == 'v') { ++flagverbose; if (flagverbose >= 4) flagverbose = 4; continue; } if (*x == 'o') { cryptotypeselected |= sshcrypto_TYPEOLDCRYPTO; continue; } if (*x == 'O') { cryptotypeselected &= ~sshcrypto_TYPEOLDCRYPTO; continue; } if (*x == 's') { cryptotypeselected |= sshcrypto_TYPENEWCRYPTO; continue; } @@ -218,7 +218,6 @@ watchtochild = watchfromchild1 = watchfromchild2 = 0; watchselfpipe = 0; } - else { if (watch0) if (!watch0->revents) watch0 = 0; if (watch1) if (!watch1->revents) watch1 = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/packet_channel_recv.c new/tinyssh-20240101/tinyssh/packet_channel_recv.c --- old/tinyssh-20230101/tinyssh/packet_channel_recv.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/packet_channel_recv.c 2024-01-01 09:13:59.000000000 +0100 @@ -69,6 +69,7 @@ if (id != channel_getid()) bug_proto(); pos = packetparser_end(b->buf, b->len, pos); + log_d1("packet=SSH_MSG_CHANNEL_EOF received"); channel_puteof(); buf_purge(b); return 1; @@ -87,6 +88,7 @@ if (id != channel_getid()) bug_proto(); pos = packetparser_end(b->buf, b->len, pos); + log_d1("packet=SSH_MSG_CHANNEL_CLOSE received"); packet_channel_send_eof(b); packet.flagchanneleofreceived = 1; buf_purge(b); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/packet_get.c new/tinyssh-20240101/tinyssh/packet_get.c --- old/tinyssh-20230101/tinyssh/packet_get.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/packet_get.c 2024-01-01 09:13:59.000000000 +0100 @@ -63,6 +63,12 @@ else { return packet_get_plain_(b); } + + /* overflow check */ + if (!packet.receivepacketid) { + log_f1("receivepacketid overflow"); + global_die(111); + } } @@ -83,8 +89,17 @@ return 0; case SSH_MSG_IGNORE: case SSH_MSG_DEBUG: + if (!packet.flagkeys) { + log_f1("SSH_MSG_IGNORE/SSH_MSG_DEBUG packet rejected in plain-text mode"); + global_die(111); + } buf_purge(b); break; + case SSH_MSG_NEWKEYS: + /* strict kex - reset receivepacketid */ + if (sshcrypto_kex_flags & sshcrypto_FLAGSTRICTKEX) { + packet.receivepacketid = 0; + } default: if (x && x != b->buf[0]) { char buf1[NUMTOSTR_LEN]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/packet_kexdh.c new/tinyssh-20240101/tinyssh/packet_kexdh.c --- old/tinyssh-20230101/tinyssh/packet_kexdh.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/packet_kexdh.c 2024-01-01 09:13:59.000000000 +0100 @@ -91,6 +91,7 @@ if (!packet_getall(b2, 0)) return 0; } while (b2->buf[0] != SSH_MSG_NEWKEYS); + /* key derivation */ for(i = 0; i < 6; ++i) { buf_purge(b1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/packet_put.c new/tinyssh-20240101/tinyssh/packet_put.c --- old/tinyssh-20230101/tinyssh/packet_put.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/packet_put.c 2024-01-01 09:13:59.000000000 +0100 @@ -6,6 +6,9 @@ #include "uint32_pack_big.h" #include "buf.h" +#include "sshcrypto.h" +#include "ssh.h" +#include "log.h" #include "packet.h" static void packet_put_plain_(struct buf *b) { @@ -43,4 +46,15 @@ else { packet_put_plain_(b); } + + /* overflow check */ + if (!packet.sendpacketid) { + log_f1("sendpacketid overflow"); + global_die(111); + } + + /* strict kex - reset sendpacketid */ + if (b->buf[0] == SSH_MSG_NEWKEYS && sshcrypto_kex_flags & sshcrypto_FLAGSTRICTKEX) { + packet.sendpacketid = 0; + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/sshcrypto.h new/tinyssh-20240101/tinyssh/sshcrypto.h --- old/tinyssh-20230101/tinyssh/sshcrypto.h 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/sshcrypto.h 2024-01-01 09:13:59.000000000 +0100 @@ -15,6 +15,8 @@ #define sshcrypto_kem_MAX crypto_kem_sntrup761x25519_BYTES #define sshcrypto_hash_MAX crypto_hash_sha512_BYTES +#define sshcrypto_FLAGSTRICTKEX 0x1 + struct sshcrypto_kex { const char *name; int (*enc)(unsigned char *, unsigned char *, const unsigned char *); @@ -29,6 +31,14 @@ }; extern struct sshcrypto_kex sshcrypto_kexs[]; +struct sshcrypto_pseudokex { + const char *name; + const char *cname; + int flag; +}; +extern struct sshcrypto_pseudokex sshcrypto_pseudokexs[]; + +extern int sshcrypto_kex_flags; extern const char *sshcrypto_kex_name; extern int (*sshcrypto_enc)(unsigned char *, unsigned char *, const unsigned char *); extern long long sshcrypto_kem_publickeybytes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/sshcrypto_kex.c new/tinyssh-20240101/tinyssh/sshcrypto_kex.c --- old/tinyssh-20230101/tinyssh/sshcrypto_kex.c 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/sshcrypto_kex.c 2024-01-01 09:13:59.000000000 +0100 @@ -54,6 +54,15 @@ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; +struct sshcrypto_pseudokex sshcrypto_pseudokexs[] = { + { "[email protected]", + "[email protected]", + sshcrypto_FLAGSTRICTKEX, + }, + { 0, 0 } +}; + +int sshcrypto_kex_flags = 0; const char *sshcrypto_kex_name = 0; int (*sshcrypto_enc)(unsigned char *, unsigned char *, const unsigned char *) = 0; long long sshcrypto_kem_publickeybytes = 0; @@ -66,7 +75,7 @@ int sshcrypto_kex_select(const unsigned char *buf, long long len, crypto_uint8 *kex_guess) { - long long i, pos = 0; + long long i, pos; unsigned char *x; long long xlen; @@ -77,6 +86,19 @@ *kex_guess = 1; + pos = 0; + for (;;) { + pos = stringparser(buf, len, pos, &x, &xlen); + if (!pos) break; + for (i = 0; sshcrypto_pseudokexs[i].name; ++i) { + if (str_equaln((char *)x, xlen, sshcrypto_pseudokexs[i].cname)) { + log_d2("kex: pseudokex selected: ", sshcrypto_pseudokexs[i].name); + sshcrypto_kex_flags |= sshcrypto_pseudokexs[i].flag; + } + } + } + + pos = 0; for (;;) { pos = stringparser(buf, len, pos, &x, &xlen); if (!pos) break; @@ -114,6 +136,10 @@ if (j++) ++len; len += str_len(sshcrypto_kexs[i].name); } + for (i = 0; sshcrypto_pseudokexs[i].name; ++i) { + if (j++) ++len; + len += str_len(sshcrypto_pseudokexs[i].name); + } buf_putnum32(b, len); start = b->len; @@ -124,6 +150,10 @@ if (j++) buf_puts(b, ","); buf_puts(b, sshcrypto_kexs[i].name); } + for (i = 0; sshcrypto_pseudokexs[i].name; ++i) { + if (j++) buf_puts(b, ","); + buf_puts(b, sshcrypto_pseudokexs[i].name); + } b->buf[b->len] = 0; log_d2("kex: server: kex algorithms: ", (char *)b->buf + start); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tinyssh-20230101/tinyssh/tinysshd.exp new/tinyssh-20240101/tinyssh/tinysshd.exp --- old/tinyssh-20230101/tinyssh/tinysshd.exp 2022-12-31 09:40:56.000000000 +0100 +++ new/tinyssh-20240101/tinyssh/tinysshd.exp 2024-01-01 09:13:59.000000000 +0100 @@ -16,7 +16,7 @@ --- tinysshd default setup -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -25,7 +25,7 @@ --- tinysshd recognizes -osp -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -34,7 +34,7 @@ --- tinysshd recognizes -o -s -p -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -43,7 +43,7 @@ --- tinysshd recognizes -osP -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -52,7 +52,7 @@ --- tinysshd recognizes -o -s -P -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -61,7 +61,7 @@ --- tinysshd recognizes -oSp -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -70,7 +70,7 @@ --- tinysshd recognizes -o -S -p -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -79,7 +79,7 @@ --- tinysshd recognizes -oSP -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -88,7 +88,7 @@ --- tinysshd recognizes -o -S -P -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -97,7 +97,7 @@ --- tinysshd recognizes -Osp -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -106,7 +106,7 @@ --- tinysshd recognizes -O -s -p -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -115,7 +115,7 @@ --- tinysshd recognizes -OsP -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -124,7 +124,7 @@ --- tinysshd recognizes -O -s -P -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -133,7 +133,7 @@ --- tinysshd recognizes -OSp -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -142,7 +142,7 @@ --- tinysshd recognizes -O -S -p -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -151,7 +151,7 @@ --- tinysshd recognizes -OSP -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -160,7 +160,7 @@ --- tinysshd recognizes -O -S -P -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -169,7 +169,7 @@ --- tinysshd recognizes -osp, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -178,7 +178,7 @@ --- tinysshd recognizes -o -s -p, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -187,7 +187,7 @@ --- tinysshd recognizes -osP, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -196,7 +196,7 @@ --- tinysshd recognizes -o -s -P, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -205,7 +205,7 @@ --- tinysshd recognizes -oSp, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -214,7 +214,7 @@ --- tinysshd recognizes -o -S -p, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -223,7 +223,7 @@ --- tinysshd recognizes -oSP, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -232,7 +232,7 @@ --- tinysshd recognizes -o -S -P, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -241,7 +241,7 @@ --- tinysshd recognizes -Osp, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -250,7 +250,7 @@ --- tinysshd recognizes -O -s -p, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -259,7 +259,7 @@ --- tinysshd recognizes -OsP, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -268,7 +268,7 @@ --- tinysshd recognizes -O -s -P, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: ssh-ed25519 _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -277,7 +277,7 @@ --- tinysshd recognizes -OSp, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -286,7 +286,7 @@ --- tinysshd recognizes -O -S -p, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -295,7 +295,7 @@ --- tinysshd recognizes -OSP, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -304,7 +304,7 @@ --- tinysshd recognizes -O -S -P, ecdsa-sha2-nistp256 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -313,7 +313,7 @@ --- tinysshd recognizes -osp, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -322,7 +322,7 @@ --- tinysshd recognizes -o -s -p, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -331,7 +331,7 @@ --- tinysshd recognizes -osP, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -340,7 +340,7 @@ --- tinysshd recognizes -o -s -P, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -349,7 +349,7 @@ --- tinysshd recognizes -oSp, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -358,7 +358,7 @@ --- tinysshd recognizes -o -S -p, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -367,7 +367,7 @@ --- tinysshd recognizes -oSP, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -376,7 +376,7 @@ --- tinysshd recognizes -o -S -P, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -385,7 +385,7 @@ --- tinysshd recognizes -Osp, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -394,7 +394,7 @@ --- tinysshd recognizes -O -s -p, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -403,7 +403,7 @@ --- tinysshd recognizes -OsP, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -412,7 +412,7 @@ --- tinysshd recognizes -O -s -P, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected] +_tinysshd-printkex: info: kex algorithms: curve25519-sha256,[email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -421,7 +421,7 @@ --- tinysshd recognizes -OSp, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -430,7 +430,7 @@ --- tinysshd recognizes -O -S -p, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: [email protected] +_tinysshd-printkex: info: kex algorithms: [email protected],[email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: [email protected] _tinysshd-printkex: info: encryption algorithms server to client: [email protected] @@ -439,7 +439,7 @@ --- tinysshd recognizes -OSP, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client: @@ -448,7 +448,7 @@ --- tinysshd recognizes -O -S -P, ssh-ed25519 key missing -_tinysshd-printkex: info: kex algorithms: +_tinysshd-printkex: info: kex algorithms: [email protected] _tinysshd-printkex: info: server host key algorithms: _tinysshd-printkex: info: encryption algorithms client to server: _tinysshd-printkex: info: encryption algorithms server to client:
