davsclaus opened a new pull request, #24255:
URL: https://github.com/apache/camel/pull/24255

   _Claude Code on behalf of Claus Ibsen_
   
   ## Summary
   
   Fix regression introduced in CAMEL-22740 where the `atomicRenameFile()` 
method in `SmbOperations` passes forward-slash paths directly to smbj's 
`DiskEntry.rename()`. Unlike `DiskShare.openFile()` which internally normalizes 
`/` to `\` via `SmbPath.rewritePath()`, the `rename()` method sends the path 
as-is to the Windows SMB server, which strictly rejects forward slashes with 
`STATUS_OBJECT_NAME_INVALID (0xc0000033)`.
   
   The fix converts forward slashes to backslashes before calling 
`src.rename()`, matching the SMB protocol requirement.
   
   - Worked in Camel 4.14.x (which only used copy-and-delete via 
`share.openFile()`)
   - Broken since 4.18.x (when atomic rename was introduced in CAMEL-22740)
   - Workaround: `copyAndDeleteOnRenameFail=true` (falls back to 
`share.openFile()` which normalizes paths)
   
   ## Test plan
   
   - [x] Existing `SmbAtomicRenameBehaviorIT` and 
`SmbCopyAndDeleteOnRenameFailIT` integration tests pass
   - [ ] Manual verification against a Windows SMB server with `moveTo` paths 
containing forward slashes (e.g., `inprocess/test.xml`)
   
   Co-Authored-By: Claude <[email protected]>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to