sshd 3.9p1 under Reliant Unix 5.45: getpeername: Operation not supported on transport endpoint

Robert Dahlem Robert.Dahlem at gmx.net
Sat Aug 28 04:44:28 EST 2004


On Fri, 27 Aug 2004 20:31:10 +0200, Robert Dahlem wrote:

>			sock_in = sock_out = dup(STDIN_FILENO);

>Under ReliantUnix 5.43 you can do successful 
>	getpeername(STDIN_FILENO, ...)
>	getpeername(sock_in, ...)
>after this.

>Under ReliantUnix 5.45
>	getpeername(STDIN_FILENO, ...) is successful
>	getpeername(sock_in, ...) returns -1, errno=EOPNOTSUPP

>Can it be that my dup() is somehow broken? This wouldn't leave much to 
>work on this machine, would it?

Changed
	sock_in = sock_out = dup(STDIN_FILENO);
to
	sock_in = sock_out = fcntl(STDIN_FILENO, F_DUPFD);

Now it works. What's that? Any thoughts?

Regards,
        Robert






More information about the openssh-unix-dev mailing list