]>
Commit | Line | Data |
---|---|---|
11fdf7f2 | 1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
7c673cae FG |
2 | // vim: ts=8 sw=2 smarttab |
3 | /* | |
4 | * Ceph - scalable distributed file system | |
5 | * | |
6 | * Copyright (C) 2004-2009 Sage Weil <sage@newdream.net> | |
7 | * | |
8 | * This is free software; you can redistribute it and/or | |
9 | * modify it under the terms of the GNU Lesser General Public | |
11fdf7f2 | 10 | * License version 2.1, as published by the Free Software |
7c673cae | 11 | * Foundation. See file COPYING. |
11fdf7f2 | 12 | * |
7c673cae FG |
13 | */ |
14 | ||
15 | ||
16 | #include "auth/AuthSessionHandler.h" | |
17 | #include "auth/Auth.h" | |
18 | ||
19 | class CephContext; | |
20 | class Message; | |
21 | ||
22 | class CephxSessionHandler : public AuthSessionHandler { | |
11fdf7f2 TL |
23 | CephContext *cct; |
24 | int protocol; | |
25 | CryptoKey key; // per mon authentication | |
7c673cae FG |
26 | uint64_t features; |
27 | ||
11fdf7f2 TL |
28 | int _calc_signature(Message *m, uint64_t *psig); |
29 | ||
7c673cae | 30 | public: |
11fdf7f2 TL |
31 | CephxSessionHandler(CephContext *cct, |
32 | const CryptoKey& session_key, | |
33 | const uint64_t features) | |
34 | : cct(cct), | |
35 | protocol(CEPH_AUTH_CEPHX), | |
36 | key(session_key), | |
37 | features(features) { | |
7c673cae | 38 | } |
11fdf7f2 | 39 | ~CephxSessionHandler() override = default; |
7c673cae FG |
40 | |
41 | int sign_message(Message *m) override; | |
42 | int check_message_signature(Message *m) override ; | |
7c673cae FG |
43 | }; |
44 |