Skip to content

SMB1Client: Add NT_TRANSACT_NOTIFY_CHANGE and RenamePath support - #368

Open
AUnkart wants to merge 1 commit into
TalAloni:masterfrom
AUnkart:pr/smb1-notify-change-rename
Open

AUnkart wants to merge 1 commit into
TalAloni:masterfrom
AUnkart:pr/smb1-notify-change-rename

Conversation

@AUnkart

@AUnkart AUnkart commented Sep 16, 2026

Copy link
Copy Markdown

SMB1Client: Add NT_TRANSACT_NOTIFY_CHANGE and RenamePath support

  • Increase ClientMaxMpxCount to allow multiplexed requests.
  • Add SendAsyncRequest and TryCancelAsyncRequest with dedicated Multiplex IDs (MID) for long-lived NT_TRANSACT_NOTIFY_CHANGE requests.
  • Automatically fail pending async requests upon disconnection.
  • Implement SMB1FileStore.NotifyChange and Cancel.
  • Implement SMB1FileStore.RenamePath using classic path-based SMB_COM_RENAME for legacy compatibility.

@TalAloni

Copy link
Copy Markdown
Owner

Thanks,
What does ClientMaxMpxCount have to do with RenamePath?
Each unrelated change should get its own pull request.

@AUnkart

AUnkart commented Sep 16, 2026

Copy link
Copy Markdown
Author

Sorry about the confusion. I accidentally mixed two separate changes into the same pull request.

The RenamePath implementation and the ClientMaxMpxCount / multiplexing changes are actually two different features:

RenamePath support for SMB1.
Multiplexed requests / connection pooling, allowing multiple operations to run concurrently over the same connection, which is especially important for long-lived NT_TRANSACT_NOTIFY_CHANGE requests.

Would you like me to split these into separate pull requests? I understand that would be the cleaner approach. However, I cannot promise that I will be able to do it in the near future, as I am about to go on vacation.

Also, some of the comments were accidentally carried over from my internal project. They were only intended as personal notes and can simply be removed. I did not notice them when reviewing the Git diff before creating the pull request.

Sorry for the noise, and thank you for taking the time to review the changes.

@TalAloni

Copy link
Copy Markdown
Owner

Yes, please split when you have time, enjoy your vacation!
The RenamePath seems like a low risk addition while the ClientMaxMpxCount changes are more concerning to me.
There is an ongoing work on NotifyChange (for SMB2) in other pull requests. it's not a small topic and I lack the time to promote it ATM.

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