]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
more messages about broken RADIUS clients
authorAlan T. DeKok <aland@freeradius.org>
Mon, 4 Apr 2016 15:28:22 +0000 (11:28 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Mon, 4 Apr 2016 15:28:22 +0000 (11:28 -0400)
src/modules/rlm_eap/mem.c

index 7d9d62cb282849a452d001439b44c76c85ab86b4..c0899f0c8799ea98d1c5d71eeb9ce84afc34468d 100644 (file)
@@ -406,8 +406,14 @@ eap_handler_t *eaplist_find(rlm_eap_t *inst, REQUEST *request,
         *      must exist.
         */
        state = fr_pair_find_by_num(request->packet->vps, PW_STATE, 0, TAG_ANY);
-       if (!state ||
-           (state->vp_length != EAP_STATE_LEN)) {
+       if (!state) {
+               REDEBUG("EAP requires the State attribute to work, but no State exists in the Access-Request packet.");
+               REDEBUG("The RADIUS client is broken.  No amount of changing FreeRADIUS will fix the RADIUS client.");
+               return NULL;
+       }
+
+       if (state->vp_length != EAP_STATE_LEN) {
+               REDEBUG("The RADIUS client has mangled the State attribute, OR you are forcing EAP in the wrong situation");
                return NULL;
        }