From 86f4814245998f4b43e136101897557e4c2f5e54 Mon Sep 17 00:00:00 2001
From: dimitri staessens <dimitri.staessens@ugent.be>
Date: Mon, 20 Feb 2017 14:42:43 +0100
Subject: lib: Revise CACEP

Revises CACEP policies to stateless library calls. It provides two
policies: an anonymous authentication policy that will generate random
credentials for the peer, and a simple authentication policy that will
return a name for the peer and an address.

Changes the normal IPCP to use the updates API calls.
---
 include/ouroboros/cacep.h      | 20 ++++++++------------
 include/ouroboros/irm_config.h |  3 ++-
 2 files changed, 10 insertions(+), 13 deletions(-)

(limited to 'include')

diff --git a/include/ouroboros/cacep.h b/include/ouroboros/cacep.h
index ae615e6e..63418bd3 100644
--- a/include/ouroboros/cacep.h
+++ b/include/ouroboros/cacep.h
@@ -24,24 +24,20 @@
 #ifndef OUROBOROS_CACEP_H
 #define OUROBOROS_CACEP_H
 
-#include <stdint.h>
-#include <unistd.h>
-
-struct cacep;
+#include <ouroboros/irm_config.h>
 
 struct cacep_info {
         char *   name;
         uint64_t addr;
+        void *   data;
 };
 
-struct cacep *      cacep_create(int          fd,
-                                 const char * name,
-                                 uint64_t     address);
-
-int                 cacep_destroy(struct cacep * instance);
-
-struct cacep_info * cacep_auth(struct cacep * instance);
+struct cacep_info * cacep_auth(int                       fd,
+                               enum pol_cacep            pc,
+                               const struct cacep_info * info);
 
-struct cacep_info * cacep_auth_wait(struct cacep * instance);
+struct cacep_info * cacep_auth_wait(int                       fd,
+                                    enum pol_cacep            pc,
+                                    const struct cacep_info * info);
 
 #endif /* OUROBOROS_CACEP_H */
diff --git a/include/ouroboros/irm_config.h b/include/ouroboros/irm_config.h
index 3cc59e20..9a05a434 100644
--- a/include/ouroboros/irm_config.h
+++ b/include/ouroboros/irm_config.h
@@ -48,7 +48,8 @@ enum pol_gam {
 };
 
 enum pol_cacep {
-        NO_AUTH = 0
+        ANONYMOUS_AUTH = 0,
+        SIMPLE_AUTH
 };
 
 struct dif_config {
-- 
cgit v1.2.3