eap_ttls.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * EAP server/peer: EAP-TTLS (RFC 5281)
  3. * Copyright (c) 2004-2007, Jouni Malinen <j@w1.fi>
  4. *
  5. * This software may be distributed under the terms of the BSD license.
  6. * See README for more details.
  7. */
  8. #ifndef EAP_TTLS_H
  9. #define EAP_TTLS_H
  10. struct ttls_avp {
  11. be32 avp_code;
  12. be32 avp_length; /* 8-bit flags, 24-bit length;
  13. * length includes AVP header */
  14. /* optional 32-bit Vendor-ID */
  15. /* Data */
  16. };
  17. struct ttls_avp_vendor {
  18. be32 avp_code;
  19. be32 avp_length; /* 8-bit flags, 24-bit length;
  20. * length includes AVP header */
  21. be32 vendor_id;
  22. /* Data */
  23. };
  24. #define AVP_FLAGS_VENDOR 0x80
  25. #define AVP_FLAGS_MANDATORY 0x40
  26. #define AVP_PAD(start, pos) \
  27. do { \
  28. int __pad; \
  29. __pad = (4 - (((pos) - (start)) & 3)) & 3; \
  30. os_memset((pos), 0, __pad); \
  31. pos += __pad; \
  32. } while (0)
  33. /* RFC 2865 */
  34. #define RADIUS_ATTR_USER_NAME 1
  35. #define RADIUS_ATTR_USER_PASSWORD 2
  36. #define RADIUS_ATTR_CHAP_PASSWORD 3
  37. #define RADIUS_ATTR_REPLY_MESSAGE 18
  38. #define RADIUS_ATTR_CHAP_CHALLENGE 60
  39. #define RADIUS_ATTR_EAP_MESSAGE 79
  40. /* RFC 2548 */
  41. #define RADIUS_VENDOR_ID_MICROSOFT 311
  42. #define RADIUS_ATTR_MS_CHAP_RESPONSE 1
  43. #define RADIUS_ATTR_MS_CHAP_ERROR 2
  44. #define RADIUS_ATTR_MS_CHAP_NT_ENC_PW 6
  45. #define RADIUS_ATTR_MS_CHAP_CHALLENGE 11
  46. #define RADIUS_ATTR_MS_CHAP2_RESPONSE 25
  47. #define RADIUS_ATTR_MS_CHAP2_SUCCESS 26
  48. #define RADIUS_ATTR_MS_CHAP2_CPW 27
  49. #define EAP_TTLS_MSCHAPV2_CHALLENGE_LEN 16
  50. #define EAP_TTLS_MSCHAPV2_RESPONSE_LEN 50
  51. #define EAP_TTLS_MSCHAP_CHALLENGE_LEN 8
  52. #define EAP_TTLS_MSCHAP_RESPONSE_LEN 50
  53. #define EAP_TTLS_CHAP_CHALLENGE_LEN 16
  54. #define EAP_TTLS_CHAP_PASSWORD_LEN 16
  55. #endif /* EAP_TTLS_H */