aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/bus/listeners/listener.h
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-07-13 08:39:19 +0200
committerMartin Willi <martin@revosec.ch>2010-07-13 10:26:07 +0200
commitbe715344c26b5f7c6bee3912f53ee8026f7d9dba (patch)
tree256a7cfb399bce597412267ea0505364e773e313 /src/libcharon/bus/listeners/listener.h
parent88fa56b1ad1b05aae28e1e8472e7097486ec25c0 (diff)
downloadstrongswan-be715344c26b5f7c6bee3912f53ee8026f7d9dba.tar.bz2
strongswan-be715344c26b5f7c6bee3912f53ee8026f7d9dba.tar.xz
Added a hook to narrow traffic selectors for CHILD_SAs
Diffstat (limited to 'src/libcharon/bus/listeners/listener.h')
-rw-r--r--src/libcharon/bus/listeners/listener.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libcharon/bus/listeners/listener.h b/src/libcharon/bus/listeners/listener.h
index 9a51a2ef4..45c61c0c0 100644
--- a/src/libcharon/bus/listeners/listener.h
+++ b/src/libcharon/bus/listeners/listener.h
@@ -173,6 +173,21 @@ struct listener_t {
*/
bool (*authorize)(listener_t *this, ike_sa_t *ike_sa,
bool final, bool *success);
+
+ /**
+ * CHILD_SA traffic selector narrowing hook.
+ *
+ * This hook is invoked for each CHILD_SA and allows plugins to modify
+ * the traffic selector list negotiated for this CHILD_SA.
+ *
+ * @param ike_sa IKE_SA the created CHILD_SA is created in
+ * @param child_sa CHILD_SA set up with these traffic selectors
+ * @param type type of hook getting invoked
+ * @param local list of local traffic selectors to narrow
+ * @param remote list of remote traffic selectors to narrow
+ */
+ bool (*narrow)(listener_t *this, ike_sa_t *ike_sa, child_sa_t *child_sa,
+ narrow_hook_t type, linked_list_t *local, linked_list_t *remote);
};
#endif /** LISTENER_H_ @}*/