summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-02-27 17:04:40 +0100
committerdimitri staessens <[email protected]>2017-02-27 18:30:55 +0100
commitd06cb62e111be1ac3f09398ae559f99e4833b4bf (patch)
tree6270bf43428fe4e33594a86245b68503a4cca756 /include
parent7baebbfc117e3b349f397d4675c49a582d13653a (diff)
downloadouroboros-d06cb62e111be1ac3f09398ae559f99e4833b4bf.tar.gz
ouroboros-d06cb62e111be1ac3f09398ae559f99e4833b4bf.zip
lib: Split authentication from CACEP
By removing authentication as part of CACEP, all policies disappear. CACEP becomes a policy-free connection establishment protocol between Application Entities. Authentication can later be added cleanly as a pure policy function when needed.
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/cacep.h37
-rw-r--r--include/ouroboros/irm_config.h5
2 files changed, 16 insertions, 26 deletions
diff --git a/include/ouroboros/cacep.h b/include/ouroboros/cacep.h
index f155023e..5ef66433 100644
--- a/include/ouroboros/cacep.h
+++ b/include/ouroboros/cacep.h
@@ -1,7 +1,7 @@
/*
* Ouroboros - Copyright (C) 2016 - 2017
*
- * The Common Application Connection Establishment Phase
+ * The Common Application Connection Establishment Protocol
*
* Sander Vrijders <[email protected]>
* Dimitri Staessens <[email protected]>
@@ -24,7 +24,7 @@
#ifndef OUROBOROS_CACEP_H
#define OUROBOROS_CACEP_H
-#include <ouroboros/irm_config.h>
+#include <stdint.h>
enum proto_concrete_syntax {
PROTO_GPB = 0,
@@ -33,27 +33,22 @@ enum proto_concrete_syntax {
};
struct conn_info{
- struct {
- char * protocol;
- uint32_t pref_version;
- enum proto_concrete_syntax pref_syntax;
- } proto;
- char * name;
- uint64_t addr;
+ char ae_name[64];
+ char protocol[64];
+ uint32_t pref_version;
+ enum proto_concrete_syntax pref_syntax;
+ union {
+ char name[64];
+ uint64_t addr;
+ } ae;
};
-int conn_info_init(struct conn_info * info);
+int cacep_connect(int fd,
+ const struct conn_info * in,
+ struct conn_info * out);
-void conn_info_fini(struct conn_info * info);
-
-struct conn_info * cacep_auth(int fd,
- enum pol_cacep pc,
- const struct conn_info * info,
- const void * auth);
-
-struct conn_info * cacep_auth_wait(int fd,
- enum pol_cacep pc,
- const struct conn_info * info,
- const void * auth);
+int cacep_listen(int fd,
+ const struct conn_info * in,
+ struct conn_info * out);
#endif /* OUROBOROS_CACEP_H */
diff --git a/include/ouroboros/irm_config.h b/include/ouroboros/irm_config.h
index 9a05a434..5e3c84b4 100644
--- a/include/ouroboros/irm_config.h
+++ b/include/ouroboros/irm_config.h
@@ -47,11 +47,6 @@ enum pol_gam {
COMPLETE = 0
};
-enum pol_cacep {
- ANONYMOUS_AUTH = 0,
- SIMPLE_AUTH
-};
-
struct dif_config {
char * dif_name;
enum ipcp_type type;