Jacek Caban : secur32: Ignore GNUTLS_A_UNRECOGNIZED_NAME warning alert.
Alexandre Julliard
julliard at winehq.org
Tue Jan 28 13:33:26 CST 2014
Module: wine
Branch: master
Commit: e3fa52a636384197fa900427a42a8616246f599b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e3fa52a636384197fa900427a42a8616246f599b
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Jan 28 15:37:37 2014 +0100
secur32: Ignore GNUTLS_A_UNRECOGNIZED_NAME warning alert.
---
dlls/secur32/schannel_gnutls.c | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c
index 17b4b77..1b19544 100644
--- a/dlls/secur32/schannel_gnutls.c
+++ b/dlls/secur32/schannel_gnutls.c
@@ -193,9 +193,11 @@ void schan_imp_set_session_target(schan_imp_session session, const char *target)
SECURITY_STATUS schan_imp_handshake(schan_imp_session session)
{
gnutls_session_t s = (gnutls_session_t)session;
- int err = pgnutls_handshake(s);
- switch(err)
- {
+ int err;
+
+ while(1) {
+ err = pgnutls_handshake(s);
+ switch(err) {
case GNUTLS_E_SUCCESS:
TRACE("Handshake completed\n");
return SEC_E_OK;
@@ -205,17 +207,31 @@ SECURITY_STATUS schan_imp_handshake(schan_imp_session session)
return SEC_I_CONTINUE_NEEDED;
case GNUTLS_E_WARNING_ALERT_RECEIVED:
+ {
+ gnutls_alert_description_t alert = pgnutls_alert_get(s);
+
+ WARN("WARNING ALERT: %d %s\n", alert, pgnutls_alert_get_name(alert));
+
+ switch(alert) {
+ case GNUTLS_A_UNRECOGNIZED_NAME:
+ TRACE("Ignoring\n");
+ continue;
+ default:
+ return SEC_E_INTERNAL_ERROR;
+ }
+ }
+
case GNUTLS_E_FATAL_ALERT_RECEIVED:
{
gnutls_alert_description_t alert = pgnutls_alert_get(s);
- const char *alert_name = pgnutls_alert_get_name(alert);
- WARN("ALERT: %d %s\n", alert, alert_name);
+ WARN("FATAL ALERT: %d %s\n", alert, pgnutls_alert_get_name(alert));
return SEC_E_INTERNAL_ERROR;
}
default:
pgnutls_perror(err);
return SEC_E_INTERNAL_ERROR;
+ }
}
/* Never reached */
More information about the wine-cvs
mailing list