diff options
author | Jose Bollo <jose.bollo@iot.bzh> | 2019-11-15 15:33:26 +0100 |
---|---|---|
committer | Jose Bollo <jose.bollo@iot.bzh> | 2019-11-25 11:48:31 +0100 |
commit | 0d3dc9722c610857c2f83c4f3bf06299f2426a95 (patch) | |
tree | 5d2a8b950e32d5ca61b73ffe17266f0d9c5e5aac | |
parent | e6908a2ee7b645517c062f2fd0419fcb3f4f976e (diff) |
Remove refreshing token
The token is no more generated by the binder
but by some external component.
Bug-AGL: SPEC-2968
Change-Id: I2c6221034272ab097e21e7727e4840b6b47bd0dc
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/afb-context.c | 25 | ||||
-rw-r--r-- | src/afb-context.h | 3 | ||||
-rw-r--r-- | src/afb-hook-flags.c | 1 | ||||
-rw-r--r-- | src/afb-hook.c | 11 | ||||
-rw-r--r-- | src/afb-hook.h | 10 | ||||
-rw-r--r-- | src/afb-monitor.c | 7 | ||||
-rw-r--r-- | src/afb-session.c | 23 | ||||
-rw-r--r-- | src/afb-session.h | 1 | ||||
-rw-r--r-- | src/afb-trace.c | 6 | ||||
-rw-r--r-- | src/afb-xreq.c | 6 | ||||
-rw-r--r-- | src/tests/session/test-session.c | 6 |
11 files changed, 3 insertions, 96 deletions
diff --git a/src/afb-context.c b/src/afb-context.c index 6057e69d..33cca0e9 100644 --- a/src/afb-context.c +++ b/src/afb-context.c @@ -77,7 +77,6 @@ int afb_context_connect(struct afb_context *context, const char *uuid, const cha init_context(context, session, token); if (created) { context->created = 1; - /* context->refreshing = 1; */ } return 0; } @@ -93,10 +92,6 @@ int afb_context_connect_validated(struct afb_context *context, const char *uuid) void afb_context_disconnect(struct afb_context *context) { if (context->session && !context->super) { - if (context->refreshing && !context->refreshed) { - afb_session_new_token (context->session); - context->refreshed = 1; - } if (context->closing && !context->closed) { afb_context_change_loa(context, 0); afb_context_set(context, NULL, NULL); @@ -111,12 +106,6 @@ const char *afb_context_sent_token(struct afb_context *context) { if (context->session == NULL || context->closing || context->super) return NULL; - if (!context->refreshing) - return NULL; - if (!context->refreshed) { - afb_session_new_token (context->session); - context->refreshed = 1; - } return afb_session_token(context->session); } @@ -157,20 +146,6 @@ void afb_context_close(struct afb_context *context) context->closing = 1; } -void afb_context_refresh(struct afb_context *context) -{ - if (context->super) - afb_context_refresh(context->super); - else { - assert(context->validated); - context->refreshing = 1; - if (!context->refreshed) { - afb_session_new_token (context->session); - context->refreshed = 1; - } - } -} - int afb_context_check(struct afb_context *context) { if (context->super) diff --git a/src/afb-context.h b/src/afb-context.h index 21af4b23..2d44611b 100644 --- a/src/afb-context.h +++ b/src/afb-context.h @@ -32,8 +32,6 @@ struct afb_context unsigned created: 1; unsigned validated: 1; unsigned invalidated: 1; - unsigned refreshing: 1; - unsigned refreshed: 1; unsigned closing: 1; unsigned closed: 1; }; @@ -55,7 +53,6 @@ extern int afb_context_set(struct afb_context *context, void *value, void (*free extern void *afb_context_make(struct afb_context *context, int replace, void *(*make_value)(void *closure), void (*free_value)(void *item), void *closure); extern void afb_context_close(struct afb_context *context); -extern void afb_context_refresh(struct afb_context *context); extern int afb_context_check(struct afb_context *context); extern int afb_context_check_loa(struct afb_context *context, unsigned loa); extern int afb_context_change_loa(struct afb_context *context, unsigned loa); diff --git a/src/afb-hook-flags.c b/src/afb-hook-flags.c index 874d21b6..9a7cf6e9 100644 --- a/src/afb-hook-flags.c +++ b/src/afb-hook-flags.c @@ -140,7 +140,6 @@ static struct flag session_flags[] = { /* must be sorted by names */ { "common", afb_hook_flags_session_common }, { "create", afb_hook_flag_session_create }, { "destroy", afb_hook_flag_session_destroy }, - { "renew", afb_hook_flag_session_renew }, { "unref", afb_hook_flag_session_unref }, }; diff --git a/src/afb-hook.c b/src/afb-hook.c index f8b593df..6b1ab10c 100644 --- a/src/afb-hook.c +++ b/src/afb-hook.c @@ -1544,11 +1544,6 @@ static void hook_session_destroy_cb(void *closure, const struct afb_hookid *hook _hook_session_(session, "destroy"); } -static void hook_session_renew_cb(void *closure, const struct afb_hookid *hookid, struct afb_session *session) -{ - _hook_session_(session, "renew -> token=%s", afb_session_token(session)); -} - static void hook_session_addref_cb(void *closure, const struct afb_hookid *hookid, struct afb_session *session) { _hook_session_(session, "addref"); @@ -1563,7 +1558,6 @@ static struct afb_hook_session_itf hook_session_default_itf = { .hook_session_create = hook_session_create_cb, .hook_session_close = hook_session_close_cb, .hook_session_destroy = hook_session_destroy_cb, - .hook_session_renew = hook_session_renew_cb, .hook_session_addref = hook_session_addref_cb, .hook_session_unref = hook_session_unref_cb }; @@ -1605,11 +1599,6 @@ void afb_hook_session_destroy(struct afb_session *session) _HOOK_SESSION_(destroy, session); } -void afb_hook_session_renew(struct afb_session *session) -{ - _HOOK_SESSION_(renew, session); -} - void afb_hook_session_addref(struct afb_session *session) { _HOOK_SESSION_(addref, session); diff --git a/src/afb-hook.h b/src/afb-hook.h index 9131621c..290bf746 100644 --- a/src/afb-hook.h +++ b/src/afb-hook.h @@ -415,12 +415,10 @@ extern void afb_hook_unref_evt(struct afb_hook_evt *hook); #define afb_hook_flag_session_create 0x000001 #define afb_hook_flag_session_close 0x000002 #define afb_hook_flag_session_destroy 0x000004 -#define afb_hook_flag_session_renew 0x000008 -#define afb_hook_flag_session_addref 0x000010 -#define afb_hook_flag_session_unref 0x000020 +#define afb_hook_flag_session_addref 0x000008 +#define afb_hook_flag_session_unref 0x000010 -#define afb_hook_flags_session_common (afb_hook_flag_session_create|afb_hook_flag_session_close\ - |afb_hook_flag_session_renew) +#define afb_hook_flags_session_common (afb_hook_flag_session_create|afb_hook_flag_session_close) #define afb_hook_flags_session_all (afb_hook_flags_session_common|afb_hook_flag_session_destroy\ |afb_hook_flag_session_addref|afb_hook_flag_session_unref) @@ -428,7 +426,6 @@ struct afb_hook_session_itf { void (*hook_session_create)(void *closure, const struct afb_hookid *hookid, struct afb_session *session); void (*hook_session_close)(void *closure, const struct afb_hookid *hookid, struct afb_session *session); void (*hook_session_destroy)(void *closure, const struct afb_hookid *hookid, struct afb_session *session); - void (*hook_session_renew)(void *closure, const struct afb_hookid *hookid, struct afb_session *session); void (*hook_session_addref)(void *closure, const struct afb_hookid *hookid, struct afb_session *session); void (*hook_session_unref)(void *closure, const struct afb_hookid *hookid, struct afb_session *session); }; @@ -436,7 +433,6 @@ struct afb_hook_session_itf { extern void afb_hook_session_create(struct afb_session *session); extern void afb_hook_session_close(struct afb_session *session); extern void afb_hook_session_destroy(struct afb_session *session); -extern void afb_hook_session_renew(struct afb_session *session); extern void afb_hook_session_addref(struct afb_session *session); extern void afb_hook_session_unref(struct afb_session *session); diff --git a/src/afb-monitor.c b/src/afb-monitor.c index 15dd1a49..13687d36 100644 --- a/src/afb-monitor.c +++ b/src/afb-monitor.c @@ -297,7 +297,6 @@ static struct json_object *get_apis(struct json_object *spec) static const char _verbosity_[] = "verbosity"; static const char _apis_[] = "apis"; -static const char _refresh_token_[] = "refresh-token"; static void f_get(afb_req_t req) { @@ -373,7 +372,6 @@ static void f_trace(afb_req_t req) static void f_session(afb_req_t req) { struct json_object *r = NULL; - int refresh = 0; struct afb_xreq *xreq = xreq_from_req_x2(req); /* check right to call it */ @@ -382,11 +380,6 @@ static void f_session(afb_req_t req) return; } - /* renew the token if required */ - wrap_json_unpack(afb_req_json(req), "{s?:b}", _refresh_token_, &refresh); - if (refresh) - afb_context_refresh(&xreq->context); - /* make the result */ wrap_json_pack(&r, "{s:s,s:s,s:i,s:i}", "uuid", afb_session_uuid(xreq->context.session), diff --git a/src/afb-session.c b/src/afb-session.c index fe5aa4af..8fa44341 100644 --- a/src/afb-session.c +++ b/src/afb-session.c @@ -545,29 +545,6 @@ int afb_session_check_token (struct afb_session *session, const char *token) return r; } -/* generate a new token and update client context */ -void afb_session_new_token (struct afb_session *session) -{ - int rc; - uuid_stringz_t uuid; - struct afb_token *previous, *next; - session_lock(session); - uuid_new_stringz(uuid); - rc = afb_token_get(&next, uuid); - if (rc < 0) - ERROR("can't renew token"); - else { - previous = session->token; - session->token = next; - session_update_expiration(session, NOW); -#if WITH_AFB_HOOK - afb_hook_session_renew(session); -#endif - afb_token_unref(previous); - } - session_unlock(session); -} - /* Returns the uuid of 'session' */ const char *afb_session_uuid (struct afb_session *session) { diff --git a/src/afb-session.h b/src/afb-session.h index 71b1556e..f6e848c8 100644 --- a/src/afb-session.h +++ b/src/afb-session.h @@ -41,7 +41,6 @@ extern void afb_session_close(struct afb_session *session); extern int afb_session_is_closed (struct afb_session *session); extern int afb_session_check_token(struct afb_session *session, const char *token); -extern void afb_session_new_token(struct afb_session *session); extern const char *afb_session_token(struct afb_session *session); extern int afb_session_timeout(struct afb_session *session); extern int afb_session_what_remains(struct afb_session *session); diff --git a/src/afb-trace.c b/src/afb-trace.c index 0de78da5..5e349c7e 100644 --- a/src/afb-trace.c +++ b/src/afb-trace.c @@ -866,11 +866,6 @@ static void hook_session_destroy(void *closure, const struct afb_hookid *hookid, hook_session(closure, hookid, session, "destroy", NULL); } -static void hook_session_renew(void *closure, const struct afb_hookid *hookid, struct afb_session *session) -{ - hook_session(closure, hookid, session, "renew", "{ss}", "token", afb_session_token(session)); -} - static void hook_session_addref(void *closure, const struct afb_hookid *hookid, struct afb_session *session) { hook_session(closure, hookid, session, "addref", NULL); @@ -885,7 +880,6 @@ static struct afb_hook_session_itf hook_session_itf = { .hook_session_create = hook_session_create, .hook_session_close = hook_session_close, .hook_session_destroy = hook_session_destroy, - .hook_session_renew = hook_session_renew, .hook_session_addref = hook_session_addref, .hook_session_unref = hook_session_unref }; diff --git a/src/afb-xreq.c b/src/afb-xreq.c index 17a603c3..85427419 100644 --- a/src/afb-xreq.c +++ b/src/afb-xreq.c @@ -760,9 +760,6 @@ static int xreq_session_check_apply_v1(struct afb_xreq *xreq, int sessionflags) } } - if ((sessionflags & AFB_SESSION_RENEW_X1) != 0) { - afb_context_refresh(&xreq->context); - } if ((sessionflags & AFB_SESSION_CLOSE_X1) != 0) { afb_context_change_loa(&xreq->context, 0); afb_context_close(&xreq->context); @@ -798,9 +795,6 @@ static int xreq_session_check_apply_v2(struct afb_xreq *xreq, uint32_t sessionfl return -1; } - if ((sessionflags & AFB_SESSION_REFRESH_X2) != 0) { - afb_context_refresh(&xreq->context); - } if ((sessionflags & AFB_SESSION_CLOSE_X2) != 0) { afb_context_close(&xreq->context); } diff --git a/src/tests/session/test-session.c b/src/tests/session/test-session.c index fdbb0435..444475ef 100644 --- a/src/tests/session/test-session.c +++ b/src/tests/session/test-session.c @@ -61,12 +61,6 @@ START_TEST (check_creation) ck_assert(afb_session_check_token(s, GOOD_UUID)); ck_assert(afb_session_check_token(s, afb_session_token(s))); - /* token can be renewed */ - afb_session_new_token(s); - ck_assert(strcmp(afb_session_token(s), GOOD_UUID)); - ck_assert(!afb_session_check_token(s, GOOD_UUID)); - ck_assert(afb_session_check_token(s, afb_session_token(s))); - /* query the session */ uuid = strdup(afb_session_uuid(s)); x = afb_session_search(uuid); |