Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/wpa/dist/src merge v1.1



details:   https://anonhg.NetBSD.org/src/rev/55e58f7a3401
branches:  trunk
changeset: 788666:55e58f7a3401
user:      adam <adam%NetBSD.org@localhost>
date:      Wed Jul 17 21:47:50 2013 +0000

description:
merge v1.1

diffstat:

 external/bsd/wpa/dist/src/ap/wpa_auth.c                      |  5 ++++-
 external/bsd/wpa/dist/src/eap_server/eap_server_tls_common.c |  8 ++++++++
 2 files changed, 12 insertions(+), 1 deletions(-)

diffs (40 lines):

diff -r a5e131ba663d -r 55e58f7a3401 external/bsd/wpa/dist/src/ap/wpa_auth.c
--- a/external/bsd/wpa/dist/src/ap/wpa_auth.c   Wed Jul 17 21:34:10 2013 +0000
+++ b/external/bsd/wpa/dist/src/ap/wpa_auth.c   Wed Jul 17 21:47:50 2013 +0000
@@ -2334,6 +2334,9 @@
 
 static int wpa_group_update_sta(struct wpa_state_machine *sm, void *ctx)
 {
+       if (ctx != NULL && ctx != sm->group)
+               return 0;
+
        if (sm->wpa_ptk_state != WPA_PTK_PTKINITDONE) {
                wpa_auth_logger(sm->wpa_auth, sm->addr, LOGGER_DEBUG,
                                "Not in PTKINITDONE; skip Group Key update");
@@ -2388,7 +2391,7 @@
                           group->GKeyDoneStations);
                group->GKeyDoneStations = 0;
        }
-       wpa_auth_for_each_sta(wpa_auth, wpa_group_update_sta, NULL);
+       wpa_auth_for_each_sta(wpa_auth, wpa_group_update_sta, group);
        wpa_printf(MSG_DEBUG, "wpa_group_setkeys: GKeyDoneStations=%d",
                   group->GKeyDoneStations);
 }
diff -r a5e131ba663d -r 55e58f7a3401 external/bsd/wpa/dist/src/eap_server/eap_server_tls_common.c
--- a/external/bsd/wpa/dist/src/eap_server/eap_server_tls_common.c      Wed Jul 17 21:34:10 2013 +0000
+++ b/external/bsd/wpa/dist/src/eap_server/eap_server_tls_common.c      Wed Jul 17 21:47:50 2013 +0000
@@ -230,6 +230,14 @@
                        return -1;
                }
 
+               if (len > message_length) {
+                       wpa_printf(MSG_INFO, "SSL: Too much data (%d bytes) in "
+                                  "first fragment of frame (TLS Message "
+                                  "Length %d bytes)",
+                                  (int) len, (int) message_length);
+                       return -1;
+               }
+
                data->tls_in = wpabuf_alloc(message_length);
                if (data->tls_in == NULL) {
                        wpa_printf(MSG_DEBUG, "SSL: No memory for message");



Home | Main Index | Thread Index | Old Index