Adding a control class for app configuration/activation.
Change dhcp/igmp to use this interface for app configuration
diff --git a/src/test/utils/EapolAAA.py b/src/test/utils/EapolAAA.py
index f7a8a2d..6c477f0 100644
--- a/src/test/utils/EapolAAA.py
+++ b/src/test/utils/EapolAAA.py
@@ -84,3 +84,26 @@
eap_payload = self.eap(EAP_RESPONSE, pkt_id, EAP_TYPE_ID, user)
return self.eapol_send(EAPOL_EAPPACKET, eap_payload)
+ def eap_md5_challenge_recv(self,rad_pwd):
+ PASS = rad_pwd
+ print 'Inside EAP MD5 Challenge Exchange'
+ p = self.s.recv(self.max_payload_size)[14:]
+ vers,pkt_type,eapollen = unpack("!BBH",p[:4])
+ print "EAPOL Version %d, type %d, len %d" %(vers, pkt_type, eapollen)
+ code, pkt_id, eaplen = unpack("!BBH", p[4:8])
+ print "EAP Code %d, id %d, len %d" %(code, pkt_id, eaplen)
+ assert_equal(code, EAP_REQUEST)
+ reqtype = unpack("!B", p[8:9])[0]
+ reqdata = p[9:4+eaplen]
+ print 'Request type is %d' %(reqtype)
+ assert_equal(reqtype, EAP_TYPE_MD5)
+ challenge=pack("!B",pkt_id)+PASS+reqdata[1:]
+ print "Generating md5 challenge for %s" % challenge
+ return (challenge,pkt_id)
+
+ def eap_Status(self):
+ print 'Inside EAP Status'
+ p = self.s.recv(self.max_payload_size)[14:]
+ code, id, eaplen = unpack("!BBH", p[4:8])
+ return code
+