Added SoH functionality to the PEAP module
[freeradius.git] / src / modules / rlm_eap / types / rlm_eap_peap / eap_peap.h
index 264aa36..3ad3a33 100644 (file)
  *
  *   You should have received a copy of the GNU General Public License
  *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  *
  * Copyright 2003 Alan DeKok <aland@freeradius.org>
+ * Copyright 2006 The FreeRADIUS server project
  */
 #ifndef _EAP_PEAP_H
 #define _EAP_PEAP_H
 
+#include <freeradius-devel/ident.h>
+RCSIDH(eap_peap_h, "$Id$")
+
 #include "eap_tls.h"
+#include <freeradius-devel/soh.h>
 
 typedef struct peap_tunnel_t {
        VALUE_PAIR      *username;
@@ -34,11 +39,25 @@ typedef struct peap_tunnel_t {
        int             copy_request_to_tunnel;
        int             use_tunneled_reply;
        int             proxy_tunneled_request_as_eap;
+       const char      *virtual_server;
+       int             soh;
+       const char      *soh_virtual_server;
+       VALUE_PAIR      *soh_reply_vps;
+       int             session_resumption_state;
 } peap_tunnel_t;
 
-#define PEAP_STATUS_START_PART2 0
+#define PEAP_STATUS_INVALID 0
 #define PEAP_STATUS_SENT_TLV_SUCCESS 1
 #define PEAP_STATUS_SENT_TLV_FAILURE 2
+#define PEAP_STATUS_TUNNEL_ESTABLISHED 3
+#define PEAP_STATUS_INNER_IDENTITY_REQ_SENT 4
+#define PEAP_STATUS_PHASE2_INIT 5
+#define PEAP_STATUS_PHASE2 6
+#define PEAP_STATUS_WAIT_FOR_SOH_RESPONSE 7
+
+#define PEAP_RESUMPTION_NO     (0)
+#define PEAP_RESUMPTION_YES    (1)
+#define PEAP_RESUMPTION_MAYBE  (2)
 
 #define EAP_TLV_SUCCESS (1)
 #define EAP_TLV_FAILURE (2)