[1712] in Kerberos_V5_Development

home help back first fref pref prev next nref lref last post

Solaris UDP connect() lossage

daemon@ATHENA.MIT.EDU (Tom Yu)
Fri Sep 6 05:57:03 1996

Date: Fri, 6 Sep 1996 05:56:53 -0400
To: krbcore@MIT.EDU
From: Tom Yu <tlyu@MIT.EDU>

Under Solaris, if you connect() a UDP socket, then you don't get the
BSD behaviour of having send() and recv() return ECONNREFUSED when
called after a send() ends up sending to a nonlistening port.  Do we
want to work around this or not?  I first noticed it in login.krb5
when it's trying to convert the tickets to krb4 tickets and was
hanging because krb524d wasn't runnign on fmult.mit.edu.  Attempting
to run krb524init gives the same problem.  OSF/1 and Ultrix get this
right.  I can't seem to find anything that says that connect() should
actually have the BSD behaviour under Solaris, but I think that it's a
bug that it doesn't.  One possible workaround is to open a raw socket
and listen for the appropriate ICMP messages.  Then again, this
requires root access.  Sigh.

---Tom

home help back first fref pref prev next nref lref last post