OSDN Git Service

wpa_supplicant: Update to 07-Jul-2012 TOT
[android-x86/external-wpa_supplicant_8.git] / src / crypto / tls_openssl.c
index aaa920b..09b02e4 100644 (file)
@@ -527,6 +527,15 @@ static void ssl_info_cb(const SSL *ssl, int where, int ret)
                        else
                                conn->write_alerts++;
                }
+               if (tls_global->event_cb != NULL) {
+                       union tls_event_data ev;
+                       os_memset(&ev, 0, sizeof(ev));
+                       ev.alert.is_local = !(where & SSL_CB_READ);
+                       ev.alert.type = SSL_alert_type_string_long(ret);
+                       ev.alert.description = SSL_alert_desc_string_long(ret);
+                       tls_global->event_cb(tls_global->cb_ctx, TLS_ALERT,
+                                            &ev);
+               }
        } else if (where & SSL_CB_EXIT && ret <= 0) {
                wpa_printf(MSG_DEBUG, "SSL: %s:%s in %s",
                           str, ret == 0 ? "failed" : "error",
@@ -1274,6 +1283,10 @@ static int tls_verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx)
                                       TLS_FAIL_SERVER_CHAIN_PROBE);
        }
 
+       if (preverify_ok && tls_global->event_cb != NULL)
+               tls_global->event_cb(tls_global->cb_ctx,
+                                    TLS_CERT_CHAIN_SUCCESS, NULL);
+
        return preverify_ok;
 }