Skip to content

V0.1.35#68

Merged
blacknon merged 25 commits into
masterfrom
v0.1.35
May 17, 2026
Merged

V0.1.35#68
blacknon merged 25 commits into
masterfrom
v0.1.35

Conversation

@blacknon

Copy link
Copy Markdown
Owner

v0.1.35

Released go-sshlib v0.1.35, the SSH library for lssh.

This release mainly expands automated test coverage and improves CI reliability across platforms.

Changes

  • Added broad unit test coverage for reconnect handling, control socket helpers, proxy behavior, terminal helpers, tunnel frame handling, known_hosts updates, SMB path handling, PKCS#11 helpers, and NFS/SFTP change forwarding
  • Added more integration coverage for AutoReconnect, including Command() and SFTP client creation paths
  • Refactored known_hosts prompt handling so interactive confirmation logic can be tested more safely and predictably
  • Adjusted tests for cross-platform behavior, including Windows path handling and Unix socket dependent cases
  • Updated CI workflow behavior so release-side test execution is more aligned with the current test suite expectations
  • Updated module dependencies in go.mod and go.sum

Purpose

  • Increase confidence in core SSH session, forwarding, and filesystem-related behavior
  • Reduce regressions in platform-specific code paths across Linux, macOS, and Windows
  • Improve coverage for ControlPersist, reconnect flows, and helper utilities that are easy to break with small changes
  • Make CI results more reliable and more representative of actual supported behavior

dependabot Bot and others added 25 commits April 29, 2026 01:27
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 1 to 6.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@v1...v6)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/hanwen/go-fuse/v2](https://github.com/hanwen/go-fuse) from 2.9.0 to 2.10.1.
- [Commits](hanwen/go-fuse@v2.9.0...v2.10.1)

---
updated-dependencies:
- dependency-name: github.com/hanwen/go-fuse/v2
  dependency-version: 2.10.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.42.0 to 0.43.0.
- [Commits](golang/term@v0.42.0...v0.43.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-version: 0.43.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.50.0 to 0.51.0.
- [Commits](golang/crypto@v0.50.0...v0.51.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.43.0 to 0.44.0.
- [Commits](golang/sys@v0.43.0...v0.44.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-version: 0.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.53.0 to 0.54.0.
- [Commits](golang/net@v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…/x/term-0.43.0

deps: bump golang.org/x/term from 0.42.0 to 0.43.0
…o-fuse/v2-2.10.1

Co-authored-by: blacknon <11777090+blacknon@users.noreply.github.com>
Co-authored-by: blacknon <11777090+blacknon@users.noreply.github.com>
…/hanwen/go-fuse/v2-2.10.1

deps: bump github.com/hanwen/go-fuse/v2 from 2.9.0 to 2.10.1
…-0.51.0

Co-authored-by: blacknon <11777090+blacknon@users.noreply.github.com>
…/x/crypto-0.51.0

deps: bump golang.org/x/crypto from 0.50.0 to 0.51.0
…s/setup-go-6

ci: bump actions/setup-go from 1 to 6
…44.0

Co-authored-by: blacknon <11777090+blacknon@users.noreply.github.com>
…/x/sys-0.44.0

deps: bump golang.org/x/sys from 0.43.0 to 0.44.0
…54.0

Co-authored-by: blacknon <11777090+blacknon@users.noreply.github.com>
…/x/net-0.54.0

deps: bump golang.org/x/net from 0.53.0 to 0.54.0
@blacknon blacknon merged commit b6bf846 into master May 17, 2026
6 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d178cddcfb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread knownhosts.go
Comment on lines +36 to +37
var knownHostsPromptInput io.Reader = os.Stdin
var knownHostsPromptOutput io.Writer = os.Stdout

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid caching stdio for known-host prompts

When callers redirect os.Stdin or os.Stdout after package initialization (for example a CLI/test harness swapping them to a pipe before VerifyAndAppendNew), the prompt now still reads from and writes to the original descriptors captured here. The previous implementation resolved os.Stdin/os.Stdout at prompt time, so those redirected prompts worked; with these cached unexported globals they can hang waiting on the real terminal or bypass captured output. Resolve the defaults at call time, or make the override distinguishable from the default.

Useful? React with 👍 / 👎.

Comment thread forward_test.go
}

socketPath := filepath.Join(dir, "X77")
_ = os.Remove(socketPath)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Do not delete real X11 sockets in tests

On Unix hosts where display :77 is in use, running this unit test removes /tmp/.X11-unix/X77 before binding its own listener, which can break a developer or CI machine's active X server/Xvfb session outside the test process. Use a test-owned socket path or pick a display only after confirming no socket exists, and only remove sockets the test created.

Useful? React with 👍 / 👎.

Comment thread forward_test.go
}

func TestX11ConnectForwardedDisplayUsesTCP(t *testing.T) {
listener, err := net.Listen("tcp", "127.0.0.1:6011")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid requiring TCP port 6011 to be free

This unit test unconditionally binds 127.0.0.1:6011, so it fails on machines that already have X11 display 11 or SSH X forwarding listening there; that makes the normal go test suite depend on host state unrelated to the code. Choose a free port/display pair for the test instead of hard-coding 6011.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants