Skip to content

build: update smb2 requirement from 0.28 to 0.34 in /rust - #228

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rust/smb2-0.34
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/rust/smb2-0.34

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 27, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on smb2 to permit the latest version.

Changelog

Sourced from smb2's changelog.

[0.29.0] - 2026-10-14

Breaking

  • ClientConfig has a new response_timeout field. A struct literal that spreads ..Default::default() (as the docs show) compiles unchanged; one that lists every field needs to add it, and Some(Duration::from_secs(30)) keeps the previous behavior.

Added

  • Bound how long SmbClient::connect waits on a silent server, with ClientConfig::response_timeout. It's the same deadline Connection::set_response_timeout sets, but in force from the very first request, the NEGOTIATE inside connect, which no setter can reach. Together with timeout for the TCP connect, a connect against a server that never answers now gives up within roughly the sum of the two. Defaults to 30 s, as before.
  • Connection::response_timeout() reads the deadline currently in force.

Fixed

  • A server that accepts the connection and then never answers can no longer hang connect forever (cmdr#406). The NEGOTIATE that opens every connection waited for its answer with no deadline, so SmbClient::connect, Connection::negotiate, and any reconnect built on them never returned. It now gets the same response deadline as every other request and gives up with Error::Timeout, or Error::ServerUnresponsive when the connection is provably dead. A reconnect keeps whatever deadline the connection had.
  • A DFS target connection keeps the response deadline you set on the client. It used to start from the 30 s default whatever the primary connection had, so a deadline tuned on SmbClient::connection() silently didn't cover the server a DFS namespace actually sends you to.

[0.28.0] - 2026-10-12

Breaking

  • FileInfo and DirectoryEntry carry the file's attributes, in a new attributes field. Code that builds either one by hand (a test fixture, say) needs to fill it in; FileAttributes::default() means none.

Added

  • A copy keeps its source's Hidden and Read-only flags, in the frames it already sends. Every listing, stat, and open already got the file's attributes back, and now you do too: DirectoryEntry::attributes and FileInfo::attributes (so FileDownload::info(), FileReader::info(), and read_file_compound_with_info as well) hand them over as a FileAttributes, with is_hidden(), is_readonly(), and is_directory(). To set them, FileTimes::set_attributes puts them in the same SET_INFO as the times, so a writer stamps its copy's date and Hidden flag with one FileWriter::set_times, and set_times by path sets them on a file or a directory. What you pass replaces the file's attributes, and empty ones clear them all. Only the attributes a server lets you set go out, so you can pass a source's straight through: Directory, Sparse, and the like stay off the wire.
  • NtStatus::CANNOT_DELETE, what deleting a Read-only file gets. Clear Read-only first.

[0.27.2] - 2026-10-07

Added

  • Set a file's timestamps, and keep a copy's date with no extra round trips (#22). Tree::set_times and SmbClient::set_times set any of a file's or directory's four times and leave the rest as they are, so you can set only the modification time. Build what to set with FileTimes, shaped like std::fs::FileTimes: FileTimes::new().set_modified(t), where t is a FileTime (one stat returned, say) or a SystemTime. It's one round trip, follows DFS links, and works on directories. A server restamps a file when the handle that wrote it closes, so a writer stamps its own handle with FileWriter::set_times before finish, and that stamp holds. Tree::set_handle_times does the same on any handle you opened. A FileTime with its top bit set isn't a date (on the wire it's a handle switch or a forbidden value), so it's refused before anything is sent.
  • Reads hand out the file's dates, at no extra cost. Every open already gets the file's size and times back, and now you do too: FileDownload::info(), FileReader::info(), and the new read_file_compound_with_info / read_file_compound_sized_with_info (on Tree, and the first on SmbClient) return a FileInfo. A copy no longer needs a stat beside the read to learn the source's date. FileDownload::info() is None only for a download you built with FileDownload::new around your own handle.
  • FileTime converts from a SystemTime with From/Into.

[0.27.1] - 2026-10-05

Fixed

  • A deleted file's name is free right away, even when macOS has the file cached open (cmdr#307). After any app reads a file through a macOS mount, macOS keeps it open on the server for about a minute. delete_file let that open stand, so the file sat in STATUS_DELETE_PENDING and writing the same name again failed for up to a minute. delete_file now opens the file without sharing read or write, which makes the server ask that client to let go first, and the file is gone at once. When another client genuinely has the file open, the delete goes ahead sharing everything, as before, and the file goes when that client closes it.

[0.27.0] - 2026-09-29

Breaking

  • A call through a DFS link no longer moves your Tree to the link's target (#20). list_directory, read_file, write_file, stat, delete_file, rename, create_directory, and the other single-file methods used to rewrite the tree in place, so after one call through data (a link to \\fs02\files), every later path on that tree was read against files on fs02: browsing back to the share root or into a sibling folder hit NOT_FOUND, or read, overwrote, or deleted a same-named file there. The tree now stays on its own share, and your paths always mean the same thing. If you relied on the rewrite, go back to the paths you started with. resolve answers the same way, link folder included (data/hello.txt, where it used to say hello.txt).
  • open_file_reader, create_file_writer, create_file_writer_exclusive, and create_file_writer_at on SmbClient take &mut self, where they took &self. Following a DFS link can mean dialing the server it points at, which adds to the client's connection pool. The Tree-level openers and the free open_file_reader / open_file_writer functions are unchanged.

Changed

... (truncated)

Commits
  • 1f3e64c Release v0.29.0 — a connect against a server that never answers gives up, and...
  • 30ac96d feat(client): SmbClient::connect can bound its handshake, and a DFS target ...
  • b9fdd58 fix(client): a server that accepts the connection and never answers can no lo...
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [smb2](https://github.com/vdavid/smb2) to permit the latest version.
- [Release notes](https://github.com/vdavid/smb2/releases)
- [Changelog](https://github.com/vdavid/smb2/blob/main/CHANGELOG.md)
- [Commits](vdavid/smb2@v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: smb2
  dependency-version: 0.29.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Version bumps, dependency upgrades and toolchain migrations rust Pull requests that update rust code labels Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Version bumps, dependency upgrades and toolchain migrations rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants