From a2de640f6922c57230ea50165df9823f64fbc495 Mon Sep 17 00:00:00 2001 From: Victor Carreras <34163765+vicajilau@users.noreply.github.com> Date: Thu, 30 Jul 2026 17:07:48 +0200 Subject: [PATCH 1/2] fix: export ssh_userauth.dart in public API (#188) --- CHANGELOG.md | 4 ++++ lib/dartssh2.dart | 1 + pubspec.yaml | 2 +- test/src/ssh_userauth_export_test.dart | 22 ++++++++++++++++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 test/src/ssh_userauth_export_test.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e1bff3..defa5e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## [2.22.5] - 2026-07-30 +- Exported `src/ssh_userauth.dart` in `lib/dartssh2.dart` to expose `SSHUserInfoRequest`, `SSHUserInfoPrompt`, `SSHAuthMethod`, and `SSHChangePasswordResponse` [#188]. Thanks [@vicajilau]. + ## [2.22.4] - 2026-07-27 - Advertised standard RFC 8731 key exchange name `curve25519-sha256` alongside legacy `curve25519-sha256@libssh.org` [#187]. Thanks [@nickn17]. @@ -279,6 +282,7 @@ [#175]: https://github.com/TerminalStudio/dartssh2/pull/175 [#176]: https://github.com/TerminalStudio/dartssh2/pull/176 [#1]: https://github.com/TerminalStudio/dartssh/pull/1/files +[#188]: https://github.com/TerminalStudio/dartssh2/issues/188 [@linhanyu]: https://github.com/linhanyu [@Migarl]: https://github.com/Migarl diff --git a/lib/dartssh2.dart b/lib/dartssh2.dart index 031459f..a564fed 100644 --- a/lib/dartssh2.dart +++ b/lib/dartssh2.dart @@ -8,6 +8,7 @@ export 'src/ssh_pem.dart'; export 'src/ssh_session.dart'; export 'src/ssh_signal.dart'; export 'src/ssh_transport.dart'; +export 'src/ssh_userauth.dart'; export 'src/socket/ssh_socket.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index cd66873..02c9131 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: dartssh2 -version: 2.22.4 +version: 2.22.5 description: SSH and SFTP client written in pure Dart, aiming to be feature-rich as well as easy to use. homepage: https://github.com/TerminalStudio/dartssh2 diff --git a/test/src/ssh_userauth_export_test.dart b/test/src/ssh_userauth_export_test.dart new file mode 100644 index 0000000..789f70b --- /dev/null +++ b/test/src/ssh_userauth_export_test.dart @@ -0,0 +1,22 @@ +import 'package:dartssh2/dartssh2.dart'; +import 'package:test/test.dart'; + +void main() { + test('SSHUserInfoRequest and related userauth classes are exported by dartssh2.dart', () { + final prompt = SSHUserInfoPrompt('Password:', false); + expect(prompt.promptText, equals('Password:')); + expect(prompt.echo, isFalse); + + final request = SSHUserInfoRequest('Title', 'Instruction', [prompt]); + expect(request.name, equals('Title')); + expect(request.instruction, equals('Instruction')); + expect(request.prompts.length, equals(1)); + expect(request.prompts.first.promptText, equals('Password:')); + + final changePasswordResponse = SSHChangePasswordResponse('old', 'new'); + expect(changePasswordResponse.oldPassword, equals('old')); + expect(changePasswordResponse.newPassword, equals('new')); + + expect(SSHAuthMethod.keyboardInteractive.name, equals('keyboard-interactive')); + }); +} From 6e37986eb68d4a96b8931334636a8e4938cb0647 Mon Sep 17 00:00:00 2001 From: Victor Carreras <34163765+vicajilau@users.noreply.github.com> Date: Thu, 30 Jul 2026 17:09:55 +0200 Subject: [PATCH 2/2] style: apply line formatting to SSH userauth export tests --- test/src/ssh_userauth_export_test.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/src/ssh_userauth_export_test.dart b/test/src/ssh_userauth_export_test.dart index 789f70b..683f788 100644 --- a/test/src/ssh_userauth_export_test.dart +++ b/test/src/ssh_userauth_export_test.dart @@ -2,7 +2,9 @@ import 'package:dartssh2/dartssh2.dart'; import 'package:test/test.dart'; void main() { - test('SSHUserInfoRequest and related userauth classes are exported by dartssh2.dart', () { + test( + 'SSHUserInfoRequest and related userauth classes are exported by dartssh2.dart', + () { final prompt = SSHUserInfoPrompt('Password:', false); expect(prompt.promptText, equals('Password:')); expect(prompt.echo, isFalse); @@ -17,6 +19,7 @@ void main() { expect(changePasswordResponse.oldPassword, equals('old')); expect(changePasswordResponse.newPassword, equals('new')); - expect(SSHAuthMethod.keyboardInteractive.name, equals('keyboard-interactive')); + expect( + SSHAuthMethod.keyboardInteractive.name, equals('keyboard-interactive')); }); }