source: libabac/abac_internal.h @ d0efdec

mei_rt2
Last change on this file since d0efdec was 2e9455f, checked in by Mei <mei@…>, 11 years ago

1) added namespace
2) tweak ?This,
3) allowing linking role/oset as constraining conditions
4) adding access_tests regression testing that uses GENI's access policy
5) added couple multi contexts regression tests
6) add compression/uncompression calls to abac_encode_string/abac_decode_string
(libstrongwan only allows 512 char for attribute rule storage)
7) add attribute_now option to creddy that takes a whole char string for attribute
rule

  • Property mode set to 100644
File size: 3.5 KB
Line 
1#ifndef __ABAC_I_H__
2#define __ABAC_I_H__
3
4#include <credentials/certificates/x509.h>
5#include <credentials/certificates/certificate.h>
6#include <credentials/certificates/ac.h>
7#include <credentials/keys/private_key.h>
8#include <credentials/sets/mem_cred.h>
9
10#include "abac_defines.h"
11
12/* used by abac_c */
13extern int abac_context_creds_count(abac_context_t *);
14extern int abac_context_id_creds_count(abac_context_t *);
15extern void abac_aspect_add_linked_param(abac_aspect_t *ptr, abac_term_t *param);
16extern void abac_aspect_add_param(abac_aspect_t *ptr, abac_term_t *param);
17extern char *abac_aspect_aspect_name(abac_aspect_t*);
18extern int abac_aspect_is_linking(abac_aspect_t *ptr) ;
19extern int abac_aspect_is_object(abac_aspect_t *ptr);
20extern int abac_aspect_is_principal(abac_aspect_t *ptr);
21extern char *abac_aspect_linked_role_name(abac_aspect_t*);
22extern abac_aspect_t *abac_aspect_linking_new(int, char*,char*, char*);
23extern abac_aspect_t *abac_aspect_new(int, char*, char*);
24extern char *abac_aspect_object_name(abac_aspect_t*);
25extern abac_aspect_t *abac_aspect_object_new(int type, abac_term_t *object);
26extern char *abac_aspect_principal_name(abac_aspect_t*);
27extern abac_aspect_t *abac_aspect_principal_new(int, char*);
28extern abac_aspect_t *abac_aspect_role_principal_create(char*);
29extern char *abac_aspect_string(abac_aspect_t*);
30extern char *abac_aspect_typed_string(abac_aspect_t*);
31extern abac_aspect_t *abac_attribute_head(abac_attribute_t *ptr);
32extern abac_aspect_t *abac_attribute_tail(abac_attribute_t *ptr);
33extern abac_aspect_t **abac_attribute_tail_vectorized(abac_attribute_t*);
34extern int abac_attribute_write_cert(abac_attribute_t*, FILE *out);
35extern void abac_condition_add_range_boolean_item(abac_condition_t *ptr, char* val);
36extern void abac_condition_add_range_float_item(abac_condition_t *ptr, int itype, float val);
37extern void abac_condition_add_range_integer_item(abac_condition_t *ptr, int itype, int val);
38extern void abac_condition_add_range_string_item(abac_condition_t *ptr, char *val);
39extern void abac_condition_add_range_time_item(abac_condition_t *ptr, int itype, char* val);
40extern void abac_condition_add_range_urn_item(abac_condition_t *ptr, char *val);
41extern abac_condition_t *abac_condition_create(char*);
42extern abac_condition_t *abac_condition_create_from_aspect(abac_aspect_t*);
43extern char *abac_condition_string(abac_condition_t*);
44extern char *abac_condition_typed_string(abac_condition_t*);
45extern abac_id_credential_t *abac_context_id_credential_lookup(abac_context_t *ctx, char *);
46extern int abac_context_load_attribute_attribute(abac_context_t *ctx, abac_attribute_t *ptr);
47extern int abac_context_load_id_enc_id_file_key_file(abac_context_t *ctx, char *filename, char *keyfilename, char *pfile);
48extern int abac_context_load_id_enc_idkey_file(abac_context_t *ctx, char *filename, char *pfile);
49extern int abac_context_load_id(abac_context_t *ctx, abac_id_t *id);
50extern int abac_context_load_id_id_key_files(abac_context_t *ctx, char *filename, char *keyfilename);
51extern int abac_context_load_id_idkey_file(abac_context_t *ctx, char *filename);
52extern int abac_id_load_enc_privkey_file(abac_id_t *ptr, char *keyfile, char *pfile);
53extern void abac_id_write_cert(abac_id_t *id, FILE *out);
54extern int abac_id_write_privkey(abac_id_t *id, FILE *out);
55extern abac_term_t **abac_param_list_vectorize(abac_param_list_t*);
56extern abac_param_list_t *abac_aspect_aspect_params(abac_aspect_t *);
57extern abac_param_list_t *abac_aspect_linked_role_params(abac_aspect_t *);
58extern abac_param_list_t *abac_aspect_aspect_params(abac_aspect_t *);
59
60
61#endif /* __ABAC_I_H__ */
62
Note: See TracBrowser for help on using the repository browser.