[cpp-xmltooling COMMIT] in /branches/REL_1/xmltooling: impl/MemoryStorageService.cpp util/StorageService.h
noreply at shibboleth.net
noreply at shibboleth.net
Thu Sep 29 18:32:36 BST 2011
Author: scantor
Date: Thu Sep 29 18:32:35 2011
New Revision: 910
URL: http://svn.shibboleth.net/view/cpp-xmltooling?rev=910&view=rev
Log:
Add logging when size limits exceeded.
Modified:
branches/REL_1/xmltooling/impl/MemoryStorageService.cpp
branches/REL_1/xmltooling/util/StorageService.h
Modified: branches/REL_1/xmltooling/impl/MemoryStorageService.cpp
URL: http://svn.shibboleth.net/view/cpp-xmltooling/branches/REL_1/xmltooling/impl/MemoryStorageService.cpp?rev=910&r1=909&r2=910&view=diff
==============================================================================
--- branches/REL_1/xmltooling/impl/MemoryStorageService.cpp (original)
+++ branches/REL_1/xmltooling/impl/MemoryStorageService.cpp Thu Sep 29 18:32:35 2011
@@ -47,23 +47,29 @@
MemoryStorageService(const DOMElement* e);
virtual ~MemoryStorageService();
- bool createString(const char* context, const char* key, const char* value, time_t expiration);
- int readString(const char* context, const char* key, string* pvalue=nullptr, time_t* pexpiration=nullptr, int version=0);
- int updateString(const char* context, const char* key, const char* value=nullptr, time_t expiration=0, int version=0);
- bool deleteString(const char* context, const char* key);
-
- bool createText(const char* context, const char* key, const char* value, time_t expiration) {
- return createString(context, key, value, expiration);
- }
- int readText(const char* context, const char* key, string* pvalue=nullptr, time_t* pexpiration=nullptr, int version=0) {
- return readString(context, key, pvalue, pexpiration, version);
- }
- int updateText(const char* context, const char* key, const char* value=nullptr, time_t expiration=0, int version=0) {
- return updateString(context, key, value, expiration, version);
- }
- bool deleteText(const char* context, const char* key) {
- return deleteString(context, key);
- }
+ bool createString(const char* context, const char* key, const char* value, time_t expiration) {
+ if (m_log.isDebugEnabled() && value && strlen(value) > 255) {
+ m_log.debug("string value for key (%s) exceeded allowed length", key);
+ }
+ return createText(context, key, value, expiration);
+ }
+ int readString(const char* context, const char* key, string* pvalue=nullptr, time_t* pexpiration=nullptr, int version=0) {
+ return readText(context, key, pvalue, pexpiration, version);
+ }
+ int updateString(const char* context, const char* key, const char* value=nullptr, time_t expiration=0, int version=0) {
+ if (m_log.isDebugEnabled() && value && strlen(value) > 255) {
+ m_log.debug("string value for key (%s) exceeded allowed length", key);
+ }
+ return updateText(context, key, value, expiration, version);
+ }
+ bool deleteString(const char* context, const char* key) {
+ return deleteText(context, key);
+ }
+
+ bool createText(const char* context, const char* key, const char* value, time_t expiration);
+ int readText(const char* context, const char* key, string* pvalue=nullptr, time_t* pexpiration=nullptr, int version=0);
+ int updateText(const char* context, const char* key, const char* value=nullptr, time_t expiration=0, int version=0);
+ bool deleteText(const char* context, const char* key);
void reap(const char* context);
void updateContext(const char* context, time_t expiration);
@@ -212,8 +218,16 @@
return count;
}
-bool MemoryStorageService::createString(const char* context, const char* key, const char* value, time_t expiration)
-{
+bool MemoryStorageService::createText(const char* context, const char* key, const char* value, time_t expiration)
+{
+ // This doesn't matter for this implementation, but helps identify bugs that might break others.
+ if (m_log.isDebugEnabled()) {
+ if (strlen(context) > 255)
+ m_log.debug("context value (%s) exceeded allowed length", context);
+ if (strlen(key) > 255)
+ m_log.debug("key value (%s) in context (%s) exceeded allowed length", key, context);
+ }
+
Context& ctx = writeContext(context);
SharedLock locker(m_lock, false);
@@ -233,7 +247,7 @@
return true;
}
-int MemoryStorageService::readString(const char* context, const char* key, string* pvalue, time_t* pexpiration, int version)
+int MemoryStorageService::readText(const char* context, const char* key, string* pvalue, time_t* pexpiration, int version)
{
Context& ctx = readContext(context);
SharedLock locker(m_lock, false);
@@ -252,7 +266,7 @@
return i->second.version;
}
-int MemoryStorageService::updateString(const char* context, const char* key, const char* value, time_t expiration, int version)
+int MemoryStorageService::updateText(const char* context, const char* key, const char* value, time_t expiration, int version)
{
[... 90 lines stripped ...]
More information about the commits
mailing list