+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-/*
- * Ceph - scalable distributed file system
- *
- * Copyright (C) 2004-2009 Sage Weil <sage@newdream.net>
- *
- * This is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software
- * Foundation. See file COPYING.
- *
- */
-
-#ifndef CEPH_AUTHAUTHORIZEHANDLER_H
-#define CEPH_AUTHAUTHORIZEHANDLER_H
-
-#include "Auth.h"
-#include "AuthMethodList.h"
-#include "include/types.h"
-#include "common/Mutex.h"
-// Different classes of session crypto handling
-
-#define SESSION_CRYPTO_NONE 0
-#define SESSION_SYMMETRIC_AUTHENTICATE 1
-#define SESSION_SYMMETRIC_ENCRYPT 2
-
-class CephContext;
-class KeyRing;
-class RotatingKeyRing;
-
-struct AuthAuthorizeHandler {
- virtual ~AuthAuthorizeHandler() {}
- virtual bool verify_authorizer(CephContext *cct, KeyStore *keys,
- bufferlist& authorizer_data, bufferlist& authorizer_reply,
- EntityName& entity_name, uint64_t& global_id,
- AuthCapsInfo& caps_info, CryptoKey& session_key, uint64_t *auid = NULL) = 0;
- virtual int authorizer_session_crypto() = 0;
-};
-
-class AuthAuthorizeHandlerRegistry {
- Mutex m_lock;
- map<int,AuthAuthorizeHandler*> m_authorizers;
- AuthMethodList supported;
-
-public:
- AuthAuthorizeHandlerRegistry(CephContext *cct_, std::string methods)
- : m_lock("AuthAuthorizeHandlerRegistry::m_lock"), supported(cct_, methods)
- {}
- ~AuthAuthorizeHandlerRegistry();
-
- AuthAuthorizeHandler *get_handler(int protocol);
-};
-
-#endif