X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=libeap%2Fsrc%2Feap_peer%2Feap_config.h;h=c78fba10a74a934e8343cee8ba66c65304dfc80f;hb=3c5bdb4c98d5a2212b51d4f8e865c6b5a5780bd4;hp=43735321536b370ec95690e99c907b465c18195d;hpb=be2e05ce7b47ad00d2899ebadeb9f76ef33a567b;p=mech_eap.git diff --git a/libeap/src/eap_peer/eap_config.h b/libeap/src/eap_peer/eap_config.h index 4373532..c78fba1 100644 --- a/libeap/src/eap_peer/eap_config.h +++ b/libeap/src/eap_peer/eap_config.h @@ -19,6 +19,30 @@ extern "C" { #endif +/* http://tools.ietf.org/html/draft-ietf-emu-chbind-13#section-5.3.1 */ +#define CHBIND_CODE_REQUEST 1 +#define CHBIND_CODE_SUCCESS 2 +#define CHBIND_CODE_FAILURE 3 +/* http://tools.ietf.org/html/draft-ietf-emu-chbind-13#section-5.3. */ +#define CHBIND_NSID_RADIUS 1 + +struct eap_peer_chbind_config +{ + /* namespace id for this channel binding info */ + int nsid; + + /* data to be sent in channel binding request */ + u8 *req_data; + + size_t req_data_len; + + /* lower level callback invoked when response is received */ + void (*response_cb)(void *ctx, int code, int nsid, u8 *resp_data, size_t resp_data_len); + + /* context for response callback */ + void *ctx; +}; + /** * struct eap_peer_config - EAP peer configuration/credentials */ @@ -629,14 +653,14 @@ struct eap_peer_config { int fragment_size; /** - * chbind_data - eap channel binding data + * chbind_config - eap channel binding config data */ - u8 *chbind_data; + struct eap_peer_chbind_config *chbind_config; /** - * chbind_data_len - length of eap channel binding data + * chbind_config_len - channel binding config data count */ - size_t chbind_data_len; + size_t chbind_config_len; #define EAP_CONFIG_FLAGS_PASSWORD_NTHASH BIT(0) /**