Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8259014: (so) ServerSocketChannel.bind(UnixDomainSocketAddress)/SocketChannel.bind(UnixDomainSocketAddress) will have unknown user and group owner (win) #1986

Closed

Conversation

Michael-Mc-Mahon
Copy link
Member

@Michael-Mc-Mahon Michael-Mc-Mahon commented Jan 7, 2021

Hi,

Could I get the following fix reviewed please? There is a bug in Windows (2019) relating to the handling of Unix domain socket files such that special file options have to be used when opening the files. This causes problems for Cygwin and the Java file APIs. The bug has been fixed in more recent Windows builds. So, Windows 10 is not affected, but the fix here is to disable support for Unix domain sockets in the affected Windows builds. More recent Windows Server versions are probably not affected either.

Thanks
Michael


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8259014: (so) ServerSocketChannel.bind(UnixDomainSocketAddress)/SocketChannel.bind(UnixDomainSocketAddress) will have unknown user and group owner (win)

Download

$ git fetch https://git.openjdk.java.net/jdk pull/1986/head:pull/1986
$ git checkout pull/1986

@bridgekeeper
Copy link

bridgekeeper bot commented Jan 7, 2021

👋 Welcome back michaelm! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jan 7, 2021
@openjdk
Copy link

openjdk bot commented Jan 7, 2021

@Michael-Mc-Mahon The following label will be automatically applied to this pull request:

  • nio

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the nio nio-dev@openjdk.org label Jan 7, 2021
@mlbridge
Copy link

mlbridge bot commented Jan 7, 2021

Webrevs

*/
if (osver.dwBuildNumber < 18362) {
return JNI_FALSE;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use VerifyVersionInfoW instead of the deprecated GetVersionEx? The IsWindows10RS3OrGreater function in net_util_md.c is a recent example.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like VerifyVersionInfoW is (or will be) deprecated also and it seems like quite a complicated API that checks the same thing in this case.

https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-verifyversioninfow

Copy link
Member Author

@Michael-Mc-Mahon Michael-Mc-Mahon Jan 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to close this PR as it should have been on the jdk16 repo. I'll also look at using the other Windows API that does not require a #pragma (for now). Will open a new PR on jdk16 shortly.

@Michael-Mc-Mahon Michael-Mc-Mahon deleted the fileattributes branch January 8, 2021 11:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
nio nio-dev@openjdk.org rfr Pull request is ready for review
Development

Successfully merging this pull request may close these issues.

2 participants