aboutsummaryrefslogtreecommitdiff
path: root/service_provider.h
diff options
context:
space:
mode:
authorFranklin Wei <me@fwei.tk>2018-06-12 22:39:53 -0400
committerFranklin Wei <me@fwei.tk>2018-06-12 22:39:53 -0400
commit96f1240471dd75638f2a53b769a4a63e5e083b7e (patch)
tree5aefcfaaf3596033dfca8df745ce4fabab823748 /service_provider.h
parentcae99b638f54748e52a10ca613c1758c9646e2d0 (diff)
downloadcsaa-96f1240471dd75638f2a53b769a4a63e5e083b7e.zip
csaa-96f1240471dd75638f2a53b769a4a63e5e083b7e.tar.gz
csaa-96f1240471dd75638f2a53b769a4a63e5e083b7e.tar.bz2
csaa-96f1240471dd75638f2a53b769a4a63e5e083b7e.tar.xz
Various changes; also implement binary tree complement calculation
Diffstat (limited to 'service_provider.h')
-rw-r--r--service_provider.h36
1 files changed, 1 insertions, 35 deletions
diff --git a/service_provider.h b/service_provider.h
index ec12aaa..883c9ea 100644
--- a/service_provider.h
+++ b/service_provider.h
@@ -9,41 +9,7 @@
struct service_provider;
-struct user_request {
- int idx;
- int user_id; /* user id */
- enum { ACL_UPDATE, FILE_UPDATE } type;
- int counter;
- hash_t val; /* for ACL update, val=[root of ACL IOMT], for file
- * update, val is a commitment to the contents, key,
- * and index of the file */
- union {
- /* if counter = 0 and type = ACL_UPDATE, create a new file with given ACL */
- struct {
- struct tm_cert ru_cert;
- hash_t ru_hmac;
- } create;
-
- /* otherwise the request is to modify either the file or
- * ACL */
- struct {
- /* FR certificate verifying file ACL and counter */
- struct tm_cert fr_cert;
- hash_t fr_hmac;
-
- /* RV certificate verifying that user is in the ACL */
- struct tm_cert rv_cert;
- hash_t rv_hmac;
-
- /* RU certificate indicating updated counter value in
- * IOMT */
- struct tm_cert ru_cert;
- hash_t ru_hmac;
- } modify;
- };
-};
-
-struct service_provider *sp_new(const void *key, size_t keylen);
+struct service_provider *sp_new(const void *key, size_t keylen, int logleaves);
struct tm_cert sp_request(struct service_provider *sp,
const struct user_request *req, hash_t req_hmac,
hash_t *hmac_out,