Change #252844
| Category | curl |
| Changed by | Viktor Szakats <commit@vsz.me> |
| Changed at | Sat 20 Dec 2025 14:16:42 |
| Repository | https://github.com/curl/curl.git |
| Project | curl |
| Branch | master |
| Revision | 969351bb1e5778a8f17f6ccb1c71b7c4378444c3 |
Comments
windows: fix `CreateFile()` calls to support long filenames It makes them work in Schannel's CA bundle loader, and curl tool's set/get file timestamp operations (e.g. in `-R`/`--remote-time`). Also to match file open operations, that already support long filenames. E.g. when using `--remote-time`, fixing: ``` Warning: Failed to set filetime 1741363917 on outfile: CreateFile failed: Warning: GetLastError 0x00000003 ``` The special long filename logic is necessary to support Windows releases prior to Windows 10 v1607. With the latter, it's possible to opt-in to this behavior via a manifest setting. Note that Windows itself also needs to opt-in to support this. Finally note that curl itself needs passing `--globoff` to let long filenames through, pending #20044 and #20046. Refs: https://learn.microsoft.com/windows/win32/api/fileapi/nf-fileapi-createfilea https://learn.microsoft.com/windows/win32/fileio/maximum-file-path-limitation Ref: #8361 Inspired by: #19286 Inspired-by: Mathesh V Closes #19286 Closes #20040
Changed files
- docs/internals/CODE_STYLE.md
- lib/curlx/fopen.c
- lib/curlx/fopen.h
- lib/vtls/schannel_verify.c
- scripts/checksrc.pl
- src/tool_filetime.c