#include <linux/ceph/ceph_debug.h>
#include <linux/module.h>
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/ceph/types.h>
#include <linux/ceph/decode.h>
#include <linux/ceph/libceph.h>
#include <linux/ceph/messenger.h>
#include "auth_none.h"
#include "auth_x.h"
static u32 supported_protocols[] = …;
static int init_protocol(struct ceph_auth_client *ac, int proto)
{ … }
void ceph_auth_set_global_id(struct ceph_auth_client *ac, u64 global_id)
{ … }
struct ceph_auth_client *ceph_auth_init(const char *name,
const struct ceph_crypto_key *key,
const int *con_modes)
{ … }
void ceph_auth_destroy(struct ceph_auth_client *ac)
{ … }
void ceph_auth_reset(struct ceph_auth_client *ac)
{ … }
int ceph_auth_entity_name_encode(const char *name, void **p, void *end)
{ … }
int ceph_auth_build_hello(struct ceph_auth_client *ac, void *buf, size_t len)
{ … }
static int build_request(struct ceph_auth_client *ac, bool add_header,
void *buf, int buf_len)
{ … }
int ceph_handle_auth_reply(struct ceph_auth_client *ac,
void *buf, size_t len,
void *reply_buf, size_t reply_len)
{ … }
int ceph_build_auth(struct ceph_auth_client *ac,
void *msg_buf, size_t msg_len)
{ … }
int ceph_auth_is_authenticated(struct ceph_auth_client *ac)
{ … }
EXPORT_SYMBOL(…);
int __ceph_auth_get_authorizer(struct ceph_auth_client *ac,
struct ceph_auth_handshake *auth,
int peer_type, bool force_new,
int *proto, int *pref_mode, int *fallb_mode)
{ … }
EXPORT_SYMBOL(…);
void ceph_auth_destroy_authorizer(struct ceph_authorizer *a)
{ … }
EXPORT_SYMBOL(…);
int ceph_auth_add_authorizer_challenge(struct ceph_auth_client *ac,
struct ceph_authorizer *a,
void *challenge_buf,
int challenge_buf_len)
{ … }
EXPORT_SYMBOL(…);
int ceph_auth_verify_authorizer_reply(struct ceph_auth_client *ac,
struct ceph_authorizer *a,
void *reply, int reply_len,
u8 *session_key, int *session_key_len,
u8 *con_secret, int *con_secret_len)
{ … }
EXPORT_SYMBOL(…);
void ceph_auth_invalidate_authorizer(struct ceph_auth_client *ac, int peer_type)
{ … }
EXPORT_SYMBOL(…);
static bool contains(const int *arr, int cnt, int val)
{ … }
static int encode_con_modes(void **p, void *end, int pref_mode, int fallb_mode)
{ … }
int ceph_auth_get_request(struct ceph_auth_client *ac, void *buf, int buf_len)
{ … }
int ceph_auth_handle_reply_more(struct ceph_auth_client *ac, void *reply,
int reply_len, void *buf, int buf_len)
{ … }
int ceph_auth_handle_reply_done(struct ceph_auth_client *ac,
u64 global_id, void *reply, int reply_len,
u8 *session_key, int *session_key_len,
u8 *con_secret, int *con_secret_len)
{ … }
bool ceph_auth_handle_bad_method(struct ceph_auth_client *ac,
int used_proto, int result,
const int *allowed_protos, int proto_cnt,
const int *allowed_modes, int mode_cnt)
{ … }
int ceph_auth_get_authorizer(struct ceph_auth_client *ac,
struct ceph_auth_handshake *auth,
int peer_type, void *buf, int *buf_len)
{ … }
EXPORT_SYMBOL(…);
int ceph_auth_handle_svc_reply_more(struct ceph_auth_client *ac,
struct ceph_auth_handshake *auth,
void *reply, int reply_len,
void *buf, int *buf_len)
{ … }
EXPORT_SYMBOL(…);
int ceph_auth_handle_svc_reply_done(struct ceph_auth_client *ac,
struct ceph_auth_handshake *auth,
void *reply, int reply_len,
u8 *session_key, int *session_key_len,
u8 *con_secret, int *con_secret_len)
{ … }
EXPORT_SYMBOL(…);
bool ceph_auth_handle_bad_authorizer(struct ceph_auth_client *ac,
int peer_type, int used_proto, int result,
const int *allowed_protos, int proto_cnt,
const int *allowed_modes, int mode_cnt)
{ … }
EXPORT_SYMBOL(…);