#include <shibresolver/resolver.h>
#include <sstream>
+#include <memory>
using namespace shibsp;
using namespace shibresolver;
using namespace xercesc;
#endif
+// Use unique_ptr where available; auto_ptr otherwise.
+#if __cplusplus > 199711L
+#define UNIQUE_OR_AUTO_PTR unique_ptr
+#else
+#define UNIQUE_OR_AUTO_PTR auto_ptr
+#endif
+
+
gss_eap_shib_attr_provider::gss_eap_shib_attr_provider(void)
{
m_initialized = false;
if (!gss_eap_attr_provider::initWithGssContext(manager, gssCred, gssCtx))
return false;
- auto_ptr<ShibbolethResolver> resolver(ShibbolethResolver::create());
+ UNIQUE_OR_AUTO_PTR<ShibbolethResolver> resolver(ShibbolethResolver::create());
/*
* For now, leave ApplicationID defaulted.
const gss_eap_radius_attr_provider *radius;
int authenticated, complete;
gss_buffer_desc value = GSS_C_EMPTY_BUFFER;
+ gss_eap_attrid attrid(VENDORPEC_UKERNA, PW_SAML_AAA_ASSERTION);
radius = static_cast<const gss_eap_radius_attr_provider *>
(m_manager->getProvider(ATTR_TYPE_RADIUS));
if (radius != NULL &&
- radius->getFragmentedAttribute(PW_SAML_AAA_ASSERTION,
- VENDORPEC_UKERNA,
- &authenticated, &complete, &value)) {
+ radius->getFragmentedAttribute(attrid, &authenticated, &complete, &value)) {
string str((char *)value.value, value.length);
istringstream istream(str);
DOMDocument *doc = XMLToolingConfig::getConfig().getParser().parse(istream);