\r
ListenerService* listener=conf.getServiceProvider()->getListenerService(false);\r
if (listener && conf.isEnabled(SPConfig::OutOfProcess)) {\r
- listener->regListener("insert::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
listener->regListener("find::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
listener->regListener("remove::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
listener->regListener("touch::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
SPConfig& conf = SPConfig::getConfig();\r
ListenerService* listener=conf.getServiceProvider()->getListenerService(false);\r
if (listener && conf.isEnabled(SPConfig::OutOfProcess)) {\r
- listener->unregListener("insert::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
listener->unregListener("find::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
listener->unregListener("remove::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
listener->unregListener("touch::"REMOTED_SESSION_CACHE"::SessionCache",this);\r
}\r
\r
const char* pid = obj["entity_id"].string();\r
- m_log.debug("new session created: SessionID (%s) IdP (%s) Address (%s)", key.get(), pid ? pid : "none", client_addr);\r
+ m_log.info("new session created: SessionID (%s) IdP (%s) Address (%s)", key.get(), pid ? pid : "none", client_addr);\r
\r
// Transaction Logging\r
auto_ptr_char name(nameid ? nameid->getName() : NULL);\r
xmltooling::NDC ndc("remove");\r
#endif\r
\r
- m_log.debug("removing session (%s)", key);\r
-\r
m_storage->deleteContext(key);\r
+ m_log.info("removed session (%s)", key);\r
\r
TransactionLog* xlog = application.getServiceProvider().getTransactionLog();\r
Locker locker(xlog);\r
xmltooling::NDC ndc("receive");\r
#endif\r
\r
- if (!strcmp(in.name(),"insert::"REMOTED_SESSION_CACHE"::SessionCache")) {\r
- auto_ptr_char key(SAMLConfig::getConfig().generateIdentifier());\r
- in.name(key.get());\r
-\r
- DDF tokens = in["tokens"].remove();\r
- DDFJanitor tjan(tokens);\r
- \r
- m_log.debug("storing new session...");\r
- ostringstream record;\r
- record << in;\r
- time_t now = time(NULL);\r
- m_storage->createText(key.get(), "session", record.str().c_str(), now + m_cacheTimeout);\r
- if (tokens.islist()) {\r
- try {\r
- DDF token = tokens.first();\r
- while (token.isstring()) {\r
- m_storage->createText(key.get(), token.name(), token.string(), now + m_cacheTimeout);\r
- token = tokens.next();\r
- }\r
- }\r
- catch (IOException& ex) {\r
- m_log.error("error storing assertion along with session: %s", ex.what());\r
- }\r
- }\r
- const char* pid = in["entity_id"].string();\r
- m_log.debug("new session created: SessionID (%s) IdP (%s) Address (%s)", key.get(), pid ? pid : "none", in["client_addr"].string());\r
- \r
- DDF ret = DDF(NULL).structure();\r
- DDFJanitor jan(ret);\r
- ret.addmember("key").string(key.get());\r
- out << ret;\r
- }\r
- else if (!strcmp(in.name(),"find::"REMOTED_SESSION_CACHE"::SessionCache")) {\r
+ if (!strcmp(in.name(),"find::"REMOTED_SESSION_CACHE"::SessionCache")) {\r
const char* key=in["key"].string();\r
if (!key)\r
throw ListenerException("Required parameters missing for session removal.");\r