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 |
