From b4968a952e0e393ae412c75de4f4bf52719024de Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 21 May 2015 14:38:02 +0200 Subject: [PATCH] task: Add optional pre_process() method This will eventually allow tasks to pre-process and verify received messages. --- src/libcharon/sa/task.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/libcharon/sa/task.h b/src/libcharon/sa/task.h index ae4260762..b2e9d8886 100644 --- a/src/libcharon/sa/task.h +++ b/src/libcharon/sa/task.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Tobias Brunner + * Copyright (C) 2007-2015 Tobias Brunner * Copyright (C) 2006 Martin Willi * Hochschule fuer Technik Rapperswil * @@ -155,6 +155,18 @@ struct task_t { */ status_t (*process) (task_t *this, message_t *message); + /** + * Verify a message before processing it (optional to implement by tasks). + * + * @param message message to verify + * @return + * - FAILED if verification is not successful, the + * message will be silently discarded + * - DESTROY_ME if IKE_SA has to be destroyed + * - SUCCESS if verification is successful + */ + status_t (*pre_process) (task_t *this, message_t *message); + /** * Get the type of the task implementation. */