X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mech_eap.git;a=blobdiff_plain;f=mech_eap%2Futil_radius.cpp;h=d8ec3df4d2550468bb7bdcd3c4b3dca1d520d8a6;hp=06aa11dafd35a85d116b266cf886e175516c3464;hb=HEAD;hpb=0352b780216895939c8d5c986b1328226ddb8dbe diff --git a/mech_eap/util_radius.cpp b/mech_eap/util_radius.cpp index 06aa11d..d8ec3df 100644 --- a/mech_eap/util_radius.cpp +++ b/mech_eap/util_radius.cpp @@ -35,6 +35,10 @@ */ #include "gssapiP_eap.h" +#include "util_radius.h" +#include "utils/radius_utils.h" + +#ifdef GSSEAP_ENABLE_ACCEPTOR #define RS_MAP_ERROR(code) (ERROR_TABLE_BASE_rse + (code)) @@ -179,17 +183,17 @@ isInternalAttributeP(const gss_eap_attrid &attrid) } break; case 0: - switch (attrid.second) { - case PW_GSS_ACCEPTOR_SERVICE_NAME: + switch (attrid.second) { + case PW_GSS_ACCEPTOR_SERVICE_NAME: case PW_GSS_ACCEPTOR_HOST_NAME: case PW_GSS_ACCEPTOR_SERVICE_SPECIFICS: case PW_GSS_ACCEPTOR_REALM_NAME: bInternalAttribute = true; - break; - default: - break; - } - break; + break; + default: + break; + } + break; default: break; } @@ -934,3 +938,17 @@ fail: return major; } + +#endif /* GSSEAP_ENABLE_ACCEPTOR */ + +OM_uint32 +gssEapRadiusAddAttr(OM_uint32 *minor, struct wpabuf **buf, uint16_t attr, + uint16_t vendor, gss_buffer_t buffer) +{ + if (radius_add_tlv(buf, attr, vendor, (u8 *)buffer->value, + buffer->length) < 0) { + *minor = ENOMEM; /* could be length too long, though */ + return GSS_S_FAILURE; + } + return GSS_S_COMPLETE; +}