diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-12-22 18:13:48 +0100 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-12-22 18:13:48 +0100 |
| commit | 7498143628640ecd5606f2e05457118cb6aaadde (patch) | |
| tree | 5a1f13de587539229a5a90fa4c73cac185e7b53d | |
| parent | b6466549f650fe81024df25f91cc1523a16ad96f (diff) | |
| download | lasso-7498143628640ecd5606f2e05457118cb6aaadde.tar.gz lasso-7498143628640ecd5606f2e05457118cb6aaadde.tar.xz lasso-7498143628640ecd5606f2e05457118cb6aaadde.zip | |
[core] add support for thin-sessions environment flag, to reduce size of LassoSession dumps
| -rw-r--r-- | lasso/debug.h | 1 | ||||
| -rw-r--r-- | lasso/id-ff/session.c | 3 | ||||
| -rw-r--r-- | lasso/lasso.c | 5 |
3 files changed, 9 insertions, 0 deletions
diff --git a/lasso/debug.h b/lasso/debug.h index ce294ac7..f98f7882 100644 --- a/lasso/debug.h +++ b/lasso/debug.h @@ -37,6 +37,7 @@ LASSO_EXPORT extern gboolean lasso_flag_memory_debug; LASSO_EXPORT extern gboolean lasso_flag_strict_checking; LASSO_EXPORT extern gboolean lasso_flag_add_signature; LASSO_EXPORT extern gboolean lasso_flag_sign_messages; +LASSO_EXPORT extern gboolean lasso_flag_thin_sessions; #ifdef __cplusplus } diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c index 6aad9160..d5294ff3 100644 --- a/lasso/id-ff/session.c +++ b/lasso/id-ff/session.c @@ -195,6 +195,9 @@ lasso_session_add_assertion_simple(LassoSession *session, const char *providerID g_return_val_if_fail(providerID != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); g_return_val_if_fail(assertion != NULL, LASSO_PARAM_ERROR_INVALID_VALUE); + if (lasso_flag_thin_sessions) { /* do not store the full assertion */ + return 0; + } g_hash_table_insert(session->assertions, g_strdup(providerID), g_object_ref(assertion)); diff --git a/lasso/lasso.c b/lasso/lasso.c index 98248dac..3d127f9b 100644 --- a/lasso/lasso.c +++ b/lasso/lasso.c @@ -95,6 +95,8 @@ gboolean lasso_flag_add_signature = TRUE; static void lasso_flag_parse_environment_variable(); /* do not sign messages */ gboolean lasso_flag_sign_messages = TRUE; +/* thin sessions */ +gboolean lasso_flag_thin_sessions = FALSE; #ifndef LASSO_FLAG_ENV_VAR #define LASSO_FLAG_ENV_VAR "LASSO_FLAG" @@ -317,6 +319,9 @@ void lasso_set_flag(char *flag) { lasso_flag_sign_messages = value; continue; } + if (lasso_strisequal(flag,"thin-sessions")) { + lasso_flag_thin_sessions = value; + } } while (FALSE); } |
