#include "gssapiP_eap.h"
-gss_eap_radius_attr_provider::gss_eap_radius_attr_provider(const gss_eap_attr_ctx *ctx,
- gss_cred_id_t gssCred,
- gss_ctx_id_t gssCtx)
- : gss_eap_attr_provider(ctx, gssCred, gssCtx)
+bool
+gss_eap_radius_attr_provider::initFromExistingContext(const gss_eap_attr_ctx *manager,
+ const gss_eap_attr_provider *ctx)
{
+ if (!gss_eap_attr_provider::initFromExistingContext(manager, ctx))
+ return false;
+
+ return true;
}
-gss_eap_radius_attr_provider::gss_eap_radius_attr_provider(
- const gss_eap_radius_attr_provider &src)
- : gss_eap_attr_provider(src)
+bool
+gss_eap_radius_attr_provider::initFromGssContext(const gss_eap_attr_ctx *manager,
+ const gss_cred_id_t gssCred,
+ const gss_ctx_id_t gssCtx)
{
+ if (!gss_eap_attr_provider::initFromGssContext(manager, gssCred, gssCtx))
+ return false;
+
+ return true;
}
gss_eap_radius_attr_provider::~gss_eap_radius_attr_provider(void)
gss_eap_radius_attr_provider::mapToAny(int authenticated,
gss_buffer_t type_id) const
{
+ return (gss_any_t)NULL;
}
void
}
void
-gss_eap_radius_attr_provider::marshall(gss_buffer_t buffer) const
+gss_eap_radius_attr_provider::exportToBuffer(gss_buffer_t buffer) const
{
}
bool
-gss_eap_radius_attr_provider::unmarshall(const gss_eap_attr_ctx *ctx,
- const gss_buffer_t buffer)
+gss_eap_radius_attr_provider::initFromBuffer(const gss_eap_attr_ctx *ctx,
+ const gss_buffer_t buffer)
{
+ if (!gss_eap_attr_provider::initFromBuffer(ctx, buffer))
+ return false;
+
return false;
}
bool
gss_eap_radius_attr_provider::init(void)
{
+ gss_eap_attr_ctx::registerProvider(ATTR_TYPE_RADIUS,
+ "urn:ietf:params:gss-eap:radius-avp",
+ gss_eap_radius_attr_provider::createAttrContext);
+ return true;
}
void
gss_eap_radius_attr_provider::finalize(void)
{
+ gss_eap_attr_ctx::unregisterProvider(ATTR_TYPE_RADIUS);
}
gss_eap_attr_provider *
-gss_eap_radius_attr_provider::createAttrContext(const gss_eap_attr_ctx *ctx,
- gss_cred_id_t gssCred,
- gss_ctx_id_t gssCtx)
+gss_eap_radius_attr_provider::createAttrContext(void)
{
- return new gss_eap_radius_attr_provider(ctx, gssCred, gssCtx);
+ return new gss_eap_radius_attr_provider;
}