protected internal virtual void doAccept()
{
try
{
sendStatus("ok");
int our_challenge = genChallenge();
sendChallenge(peer.distChoose, self.flags, our_challenge);
int her_challenge = recvChallengeReply(our_challenge);
byte[] our_digest = genDigest(her_challenge, auth_cookie);
sendChallengeAck(our_digest);
connected = true;
cookieOk = true;
sendCookie = false;
}
catch (System.Net.Sockets.SocketException ie)
{
close();
throw new System.IO.IOException(ie.ToString());
}
catch (OtpAuthException ae)
{
close();
throw ae;
}
catch (System.Exception)
{
System.String nn = peer.node();
close();
throw new System.IO.IOException("Error accepting connection from " + nn);
}
if (traceLevel >= OtpTrace.Type.handshakeThreshold)
OtpTrace.TraceEvent("<- MD5 ACCEPTED " + peer.host());
}