diff options
author | Sage Weil <sage@newdream.net> | 2009-11-18 19:19:57 -0500 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-11-18 19:19:57 -0500 |
commit | 4e7a5dcd1bbab6560fbc8ada29a840e7a20ed7bc (patch) | |
tree | a77e9b4563022340361ca673ef2e1beebb538e2f /fs/ceph/auth_none.h | |
parent | 5f44f142601bf94c448e2d463f0f18fd159da164 (diff) |
ceph: negotiate authentication protocol; implement AUTH_NONE protocol
When we open a monitor session, we send an initial AUTH message listing
the auth protocols we support, our entity name, and (possibly) a previously
assigned global_id. The monitor chooses a protocol and responds with an
initial message.
Initially implement AUTH_NONE, a dummy protocol that provides no security,
but works within the new framework. It generates 'authorizers' that are
used when connecting to (mds, osd) services that simply state our entity
name and global_id.
This is a wire protocol change.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/auth_none.h')
-rw-r--r-- | fs/ceph/auth_none.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/fs/ceph/auth_none.h b/fs/ceph/auth_none.h new file mode 100644 index 000000000000..56c05533a31c --- /dev/null +++ b/fs/ceph/auth_none.h | |||
@@ -0,0 +1,28 @@ | |||
1 | #ifndef _FS_CEPH_AUTH_NONE_H | ||
2 | #define _FS_CEPH_AUTH_NONE_H | ||
3 | |||
4 | #include "auth.h" | ||
5 | |||
6 | /* | ||
7 | * null security mode. | ||
8 | * | ||
9 | * we use a single static authorizer that simply encodes our entity name | ||
10 | * and global id. | ||
11 | */ | ||
12 | |||
13 | struct ceph_none_authorizer { | ||
14 | char buf[128]; | ||
15 | int buf_len; | ||
16 | char reply_buf[0]; | ||
17 | }; | ||
18 | |||
19 | struct ceph_auth_none_info { | ||
20 | bool starting; | ||
21 | bool built_authorizer; | ||
22 | struct ceph_none_authorizer au; /* we only need one; it's static */ | ||
23 | }; | ||
24 | |||
25 | extern int ceph_auth_none_init(struct ceph_auth_client *ac); | ||
26 | |||
27 | #endif | ||
28 | |||