+ if (m_hashAlg.empty()) {
+ m_serialized.push_back(e.what());
+ }
+ else {
+#ifndef SHIBSP_LITE
+ m_serialized.push_back(SecurityHelper::doHash(m_hashAlg.c_str(), e.what(), strlen(e.what())));
+#else
+ try {
+ DDF out, in("hash");
+ DDFJanitor jin(in), jout(out);
+ in.addmember("alg").string(m_hashAlg.c_str());
+ in.addmember("data").unsafe_string(e.what());
+ out = SPConfig::getConfig().getServiceProvider()->getListenerService()->send(in);
+ if (out.isstring() && out.string())
+ m_serialized.push_back(out.string());
+ }
+ catch (exception& ex) {
+ Category::getInstance(SHIBSP_LOGCAT".Attribute.NameID").error("exception remoting hash operation: %s", ex.what());
+ }
+#endif
+ }