Skip to content

0.19.1: openkal-windows 0.10.1 - #42

Merged
Sunrisepeak merged 1 commit into
mainfrom
pin-openkal-windows-0-10-1
Sep 21, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
pin-openkal-windows-0-10-1

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

openkal-windows 0.10.1 makes a file opened for writing describable.

kal_fs_file_info answers through NtQueryInformationFile(FileBasicInformation), which requires FILE_READ_ATTRIBUTES, and FILE_GENERIC_WRITE does not carry it — so a write-only handle held every right except the one needed to ask it about itself.

That reaches this package directly: do_fstat calls okm_fs_file_info and maps its error, so fstat on a descriptor the caller opened a line earlier returned EACCES on Windows. libarchive performs exactly that pair when opening an archive for output (archive_write_open_filename.c:178 and :189), and a consumer's Windows test suite was red on it.

Measured on three real-Windows conformance jobs in openkal-windows: with the fix the query answers 0, without it 6 (kal_err_access). Wine answers 0 either way and is recorded there as not being a second opinion.

0.10.1 was registered and published first (mcpplibs/mcpp-index#459), and verified resolvable from the published index before this branch was pushed — this repository's CI resolves openkal-windows from the index rather than cloning it, so the order is load-bearing.

0.10.1 makes a file opened for writing describable. `kal_fs_file_info` answers
through NtQueryInformationFile(FileBasicInformation), which requires
FILE_READ_ATTRIBUTES, and `FILE_GENERIC_WRITE` does not carry it — so a
write-only handle held every right except the one needed to ask it about
itself.

That reaches this package directly: `do_fstat` calls `okm_fs_file_info` and
maps its error, so `fstat` on a descriptor the caller opened a line earlier
returned EACCES on Windows. libarchive performs exactly that pair when opening
an archive for output, and a consumer's Windows test suite was red on it.

Measured on three real-Windows conformance jobs in openkal-windows: with the
fix the query answers 0, without it 6.
@Sunrisepeak
Sunrisepeak merged commit f1f789f into main Sep 21, 2026
5 checks passed
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.

1 participant