diff options
Diffstat (limited to 'include/linux/ceph/auth.h')
-rw-r--r-- | include/linux/ceph/auth.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/ceph/auth.h b/include/linux/ceph/auth.h index d4080f309b56..5f3386844134 100644 --- a/include/linux/ceph/auth.h +++ b/include/linux/ceph/auth.h | |||
@@ -52,6 +52,9 @@ struct ceph_auth_client_ops { | |||
52 | */ | 52 | */ |
53 | int (*create_authorizer)(struct ceph_auth_client *ac, int peer_type, | 53 | int (*create_authorizer)(struct ceph_auth_client *ac, int peer_type, |
54 | struct ceph_auth_handshake *auth); | 54 | struct ceph_auth_handshake *auth); |
55 | /* ensure that an existing authorizer is up to date */ | ||
56 | int (*update_authorizer)(struct ceph_auth_client *ac, int peer_type, | ||
57 | struct ceph_auth_handshake *auth); | ||
55 | int (*verify_authorizer_reply)(struct ceph_auth_client *ac, | 58 | int (*verify_authorizer_reply)(struct ceph_auth_client *ac, |
56 | struct ceph_authorizer *a, size_t len); | 59 | struct ceph_authorizer *a, size_t len); |
57 | void (*destroy_authorizer)(struct ceph_auth_client *ac, | 60 | void (*destroy_authorizer)(struct ceph_auth_client *ac, |
@@ -75,6 +78,8 @@ struct ceph_auth_client { | |||
75 | u64 global_id; /* our unique id in system */ | 78 | u64 global_id; /* our unique id in system */ |
76 | const struct ceph_crypto_key *key; /* our secret key */ | 79 | const struct ceph_crypto_key *key; /* our secret key */ |
77 | unsigned want_keys; /* which services we want */ | 80 | unsigned want_keys; /* which services we want */ |
81 | |||
82 | struct mutex mutex; | ||
78 | }; | 83 | }; |
79 | 84 | ||
80 | extern struct ceph_auth_client *ceph_auth_init(const char *name, | 85 | extern struct ceph_auth_client *ceph_auth_init(const char *name, |
@@ -94,5 +99,18 @@ extern int ceph_build_auth(struct ceph_auth_client *ac, | |||
94 | void *msg_buf, size_t msg_len); | 99 | void *msg_buf, size_t msg_len); |
95 | 100 | ||
96 | extern int ceph_auth_is_authenticated(struct ceph_auth_client *ac); | 101 | extern int ceph_auth_is_authenticated(struct ceph_auth_client *ac); |
102 | extern int ceph_auth_create_authorizer(struct ceph_auth_client *ac, | ||
103 | int peer_type, | ||
104 | struct ceph_auth_handshake *auth); | ||
105 | extern void ceph_auth_destroy_authorizer(struct ceph_auth_client *ac, | ||
106 | struct ceph_authorizer *a); | ||
107 | extern int ceph_auth_update_authorizer(struct ceph_auth_client *ac, | ||
108 | int peer_type, | ||
109 | struct ceph_auth_handshake *a); | ||
110 | extern int ceph_auth_verify_authorizer_reply(struct ceph_auth_client *ac, | ||
111 | struct ceph_authorizer *a, | ||
112 | size_t len); | ||
113 | extern void ceph_auth_invalidate_authorizer(struct ceph_auth_client *ac, | ||
114 | int peer_type); | ||
97 | 115 | ||
98 | #endif | 116 | #endif |