devtls: ignore UnrecogniedName (112) alert message (for SNI)
This commit is contained in:
parent
0ca9977075
commit
5c6357de8b
|
@ -73,6 +73,7 @@ enum {
|
||||||
EInternalError = 80,
|
EInternalError = 80,
|
||||||
EUserCanceled = 90,
|
EUserCanceled = 90,
|
||||||
ENoRenegotiation = 100,
|
ENoRenegotiation = 100,
|
||||||
|
EUnrecognizedName = 112,
|
||||||
|
|
||||||
EMAX = 256
|
EMAX = 256
|
||||||
};
|
};
|
||||||
|
@ -850,18 +851,25 @@ if(tr->debug) pdump(unpad_len, p, "decrypted:");
|
||||||
/*
|
/*
|
||||||
* propagate non-fatal alerts to handshaker
|
* propagate non-fatal alerts to handshaker
|
||||||
*/
|
*/
|
||||||
if(p[1] == ECloseNotify) {
|
switch(p[1]){
|
||||||
|
case ECloseNotify:
|
||||||
tlsclosed(tr, SRClose);
|
tlsclosed(tr, SRClose);
|
||||||
if(tr->opened)
|
if(tr->opened)
|
||||||
error("tls hungup");
|
error("tls hungup");
|
||||||
error("close notify");
|
error("close notify");
|
||||||
}
|
break;
|
||||||
if(p[1] == ENoRenegotiation)
|
case ENoRenegotiation:
|
||||||
alertHand(tr, "no renegotiation");
|
alertHand(tr, "no renegotiation");
|
||||||
else if(p[1] == EUserCanceled)
|
break;
|
||||||
|
case EUserCanceled:
|
||||||
alertHand(tr, "handshake canceled by user");
|
alertHand(tr, "handshake canceled by user");
|
||||||
else
|
break;
|
||||||
|
case EUnrecognizedName:
|
||||||
|
/* happens in response to SNI, can be ignored. */
|
||||||
|
break;
|
||||||
|
default:
|
||||||
rcvError(tr, EIllegalParameter, "invalid alert code");
|
rcvError(tr, EIllegalParameter, "invalid alert code");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case RHandshake:
|
case RHandshake:
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue