python > 3.5: Issue with unix domain sockets

Mark Geisert mark@maxrnd.com
Wed May 5 05:04:15 GMT 2021


Corinna Vinschen wrote:
> On May  4 02:45, Mark Geisert wrote:
>>[blah blah...]
> You're supposed to call the special setsockopt(SO_PEERCRED) on the
> accepting socket.  The no_getpeereid property is inherited by the
> accepted socket.

Ah, of course.  Well, I couldn't figure out a way to do the setsockopt() call some 
times but not others, because Python can't reach into the Cygwin DLL.  Nor should it.

Since this Python patch is supposed to be a temporary workaround, I took the tack 
that it should just ignore an error return from setsockopt(SO_PEERCRED).  In this 
fashion the handshake will be turned off when it can be, and when it can't (on the 
accepted socket) the attempt will error but that error will be ignored.

Thanks for the sanity check!

..mark


More information about the Cygwin-developers mailing list