cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

auth_x.h (1013B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _FS_CEPH_AUTH_X_H
      3#define _FS_CEPH_AUTH_X_H
      4
      5#include <linux/rbtree.h>
      6
      7#include <linux/ceph/auth.h>
      8
      9#include "crypto.h"
     10#include "auth_x_protocol.h"
     11
     12/*
     13 * Handle ticket for a single service.
     14 */
     15struct ceph_x_ticket_handler {
     16	struct rb_node node;
     17	unsigned int service;
     18
     19	struct ceph_crypto_key session_key;
     20	bool have_key;
     21
     22	u64 secret_id;
     23	struct ceph_buffer *ticket_blob;
     24
     25	time64_t renew_after, expires;
     26};
     27
     28#define CEPHX_AU_ENC_BUF_LEN	128  /* big enough for encrypted blob */
     29
     30struct ceph_x_authorizer {
     31	struct ceph_authorizer base;
     32	struct ceph_crypto_key session_key;
     33	struct ceph_buffer *buf;
     34	unsigned int service;
     35	u64 nonce;
     36	u64 secret_id;
     37	char enc_buf[CEPHX_AU_ENC_BUF_LEN] __aligned(8);
     38};
     39
     40struct ceph_x_info {
     41	struct ceph_crypto_key secret;
     42
     43	bool starting;
     44	u64 server_challenge;
     45
     46	unsigned int have_keys;
     47	struct rb_root ticket_handlers;
     48
     49	struct ceph_x_authorizer auth_authorizer;
     50};
     51
     52int ceph_x_init(struct ceph_auth_client *ac);
     53
     54#endif