in tls/s2n_alerts.c [211:235]
int s2n_error_get_alert(int error, uint8_t *alert)
{
int error_type = s2n_error_get_type(error);
POSIX_ENSURE_REF(alert);
switch (error_type) {
case S2N_ERR_T_OK:
case S2N_ERR_T_CLOSED:
case S2N_ERR_T_BLOCKED:
case S2N_ERR_T_USAGE:
case S2N_ERR_T_ALERT:
POSIX_BAIL(S2N_ERR_NO_ALERT);
break;
case S2N_ERR_T_PROTO:
POSIX_GUARD_RESULT(s2n_translate_protocol_error_to_alert(error, alert));
break;
case S2N_ERR_T_IO:
case S2N_ERR_T_INTERNAL:
*alert = S2N_TLS_ALERT_INTERNAL_ERROR;
break;
}
return S2N_SUCCESS;
}