attribute-manager: Pass the full IKE_SA to provider methods
[strongswan.git] / src / libcharon / attributes / attribute_manager.h
index 99f4177..b1827ba 100644 (file)
@@ -24,6 +24,8 @@
 #include "attribute_provider.h"
 #include "attribute_handler.h"
 
+#include <sa/ike_sa.h>
+
 typedef struct attribute_manager_t attribute_manager_t;
 
 /**
@@ -40,12 +42,12 @@ struct attribute_manager_t {
         * Acquire a virtual IP address to assign to a peer.
         *
         * @param pools                 list of pool names (char*) to acquire from
-        * @param id                    peer identity to get address forua
+        * @param ike_sa                associated IKE_SA for which an address is requested
         * @param requested             IP in configuration request
         * @return                              allocated address, NULL to serve none
         */
        host_t* (*acquire_address)(attribute_manager_t *this,
-                                                          linked_list_t *pool, identification_t *id,
+                                                          linked_list_t *pool, ike_sa_t *ike_sa,
                                                           host_t *requested);
 
        /**
@@ -53,23 +55,23 @@ struct attribute_manager_t {
         *
         * @param pools                 list of pool names (char*) to release to
         * @param address               address to release
-        * @param id                    peer identity to get address for
+        * @param ike_sa                associated IKE_SA for which an address is released
         * @return                              TRUE if address released to pool
         */
        bool (*release_address)(attribute_manager_t *this,
                                                        linked_list_t *pools, host_t *address,
-                                                       identification_t *id);
+                                                       ike_sa_t *ike_sa);
 
        /**
         * Create an enumerator over attributes to hand out to a peer.
         *
         * @param pool                  list of pools names (char*) to query attributes from
-        * @param id                    peer identity to hand out attributes to
+        * @param ike_sa                associated IKE_SA for which attributes are requested
         * @param vip                   list of virtual IPs (host_t*) to assign to peer
         * @return                              enumerator (configuration_attribute_type_t, chunk_t)
         */
        enumerator_t* (*create_responder_enumerator)(attribute_manager_t *this,
-                                                                       linked_list_t *pool, identification_t *id,
+                                                                       linked_list_t *pool, ike_sa_t *ike_sa,
                                                                        linked_list_t *vips);
 
        /**