}
return gssEapExportNameInternal(minor, input_name, exported_name,
- EXPORT_NAME_FLAG_OID | EXPORT_NAME_FLAG_ATTRS);
+ EXPORT_NAME_FLAG_OID |
+ EXPORT_NAME_FLAG_COMPOSITE);
}
if (ctx->initiatorName != GSS_C_NO_NAME) {
major = gssEapExportNameInternal(minor, ctx->initiatorName,
&initiatorName,
- EXPORT_NAME_FLAG_ATTRS);
+ EXPORT_NAME_FLAG_COMPOSITE);
if (GSS_ERROR(major))
goto cleanup;
}
if (ctx->acceptorName != GSS_C_NO_NAME) {
major = gssEapExportNameInternal(minor, ctx->acceptorName,
&acceptorName,
- EXPORT_NAME_FLAG_ATTRS);
+ EXPORT_NAME_FLAG_COMPOSITE);
if (GSS_ERROR(major))
goto cleanup;
}
tmp.value = p + 4;
major = gssEapImportNameInternal(minor, &tmp, pName,
- EXPORT_NAME_FLAG_ATTRS);
+ EXPORT_NAME_FLAG_COMPOSITE);
if (GSS_ERROR(major))
return major;
}
/* util_name.c */
#define EXPORT_NAME_FLAG_OID 0x1
-#define EXPORT_NAME_FLAG_ATTRS 0x2
+#define EXPORT_NAME_FLAG_COMPOSITE 0x2
OM_uint32 gssEapAllocName(OM_uint32 *minor, gss_name_t *pName);
OM_uint32 gssEapReleaseName(OM_uint32 *minor, gss_name_t *pName);
}
/*
- * Initialize a context from an existing context. All non-NULL providers
- * in the existing context are duplicated, otherwise FALSE is returned.
+ * Initialize a context from an existing context.
*/
bool
gss_eap_attr_ctx::initFromExistingContext(const gss_eap_attr_ctx *manager)
gss_eap_attr_ctx::~gss_eap_attr_ctx(void)
{
- for (unsigned int i = 0; i < ATTR_TYPE_MAX; i++)
+ for (unsigned int i = ATTR_TYPE_MIN; i < ATTR_TYPE_MAX; i++)
delete m_providers[i];
}
return m_providers[type];
}
+gss_eap_attr_provider *
+gss_eap_attr_ctx::getPrimaryProvider(void) const
+{
+ return m_providers[ATTR_TYPE_RADIUS];
+}
+
void
gss_eap_attr_ctx::setAttribute(int complete,
const gss_buffer_t attr,
major = gss_add_buffer_set_member(&minor, prefix, &args->attrs);
}
- return GSS_ERROR(major) ? false : true;
+ return GSS_ERROR(major) == false;
}
bool
provider->releaseAnyNameMapping(type_id, input);
}
-gss_eap_attr_provider *
-gss_eap_attr_ctx::getPrimaryProvider(void) const
-{
- return m_providers[ATTR_TYPE_RADIUS];
-}
-
void
gss_eap_attr_ctx::exportToBuffer(gss_buffer_t buffer) const
{
if (remain < 6 + GSS_EAP_MECHANISM->length + 4)
return GSS_S_BAD_NAME;
- if (flags & EXPORT_NAME_FLAG_ATTRS)
+ if (flags & EXPORT_NAME_FLAG_COMPOSITE)
tokType = TOK_TYPE_EXPORT_NAME_COMPOSITE;
else
tokType = TOK_TYPE_EXPORT_NAME;
if (GSS_ERROR(major))
goto cleanup;
- if (flags & EXPORT_NAME_FLAG_ATTRS) {
+ if (flags & EXPORT_NAME_FLAG_COMPOSITE) {
gss_buffer_desc buf;
CHECK_REMAIN(4);
else if (oidEqual(nameType, GSS_C_NT_COMPOSITE_EXPORT))
major = gssEapImportNameInternal(minor, nameBuffer, name,
EXPORT_NAME_FLAG_OID |
- EXPORT_NAME_FLAG_ATTRS);
+ EXPORT_NAME_FLAG_COMPOSITE);
#endif
else
major = GSS_S_BAD_NAMETYPE;
exportedName->length += 6 + GSS_EAP_MECHANISM->length;
}
exportedName->length += 4 + krbNameLen;
- if (flags & EXPORT_NAME_FLAG_ATTRS) {
+ if (flags & EXPORT_NAME_FLAG_COMPOSITE) {
major = gssEapExportAttrContext(minor, name, &attrs);
if (GSS_ERROR(major))
goto cleanup;
if (flags & EXPORT_NAME_FLAG_OID) {
/* TOK | MECH_OID_LEN */
- store_uint16_be((flags & EXPORT_NAME_FLAG_ATTRS)
+ store_uint16_be((flags & EXPORT_NAME_FLAG_COMPOSITE)
? TOK_TYPE_EXPORT_NAME_COMPOSITE
: TOK_TYPE_EXPORT_NAME,
p);
memcpy(p, krbName, krbNameLen);
p += krbNameLen;
- if (flags & EXPORT_NAME_FLAG_ATTRS) {
+ if (flags & EXPORT_NAME_FLAG_COMPOSITE) {
store_uint32_be(attrs.length, p);
memcpy(&p[4], attrs.value, attrs.length);
p += 4 + attrs.length;