Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/net/ceph/auth_x.h
15109 views
1
#ifndef _FS_CEPH_AUTH_X_H
2
#define _FS_CEPH_AUTH_X_H
3
4
#include <linux/rbtree.h>
5
6
#include <linux/ceph/auth.h>
7
8
#include "crypto.h"
9
#include "auth_x_protocol.h"
10
11
/*
12
* Handle ticket for a single service.
13
*/
14
struct ceph_x_ticket_handler {
15
struct rb_node node;
16
unsigned service;
17
18
struct ceph_crypto_key session_key;
19
struct ceph_timespec validity;
20
21
u64 secret_id;
22
struct ceph_buffer *ticket_blob;
23
24
unsigned long renew_after, expires;
25
};
26
27
28
struct ceph_x_authorizer {
29
struct ceph_buffer *buf;
30
unsigned service;
31
u64 nonce;
32
char reply_buf[128]; /* big enough for encrypted blob */
33
};
34
35
struct ceph_x_info {
36
struct ceph_crypto_key secret;
37
38
bool starting;
39
u64 server_challenge;
40
41
unsigned have_keys;
42
struct rb_root ticket_handlers;
43
44
struct ceph_x_authorizer auth_authorizer;
45
};
46
47
extern int ceph_x_init(struct ceph_auth_client *ac);
48
49
#endif
50
51
52