]> git.saurik.com Git - apple/security.git/blobdiff - securityd/src/AuthorizationEngine.h
Security-57740.1.18.tar.gz
[apple/security.git] / securityd / src / AuthorizationEngine.h
diff --git a/securityd/src/AuthorizationEngine.h b/securityd/src/AuthorizationEngine.h
deleted file mode 100644 (file)
index 05b93fd..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2000-2004,2007 Apple Inc. All Rights Reserved.
- * 
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- *
- *  AuthorizationEngine.h
- *  Authorization
- *
- */
-#ifndef _H_AUTHORIZATIONENGINE
-#define _H_AUTHORIZATIONENGINE  1
-
-#include <Security/Authorization.h>
-#include <Security/AuthorizationPlugin.h>
-#include <security_cdsa_utilities/AuthorizationData.h>
-
-#include <security_utilities/threading.h>
-#include <security_utilities/osxcode.h>
-
-#include <CoreFoundation/CFDate.h>
-#include <CoreFoundation/CFDictionary.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include "authority.h"
-
-#include "AuthorizationRule.h"
-#include "AuthorizationDBPlist.h"
-
-namespace Authorization
-{
-
-class Error : public CommonError {
-protected:
-    Error(int err);
-public:
-    const int error;
-    virtual int unixError() const throw();
-    virtual OSStatus osStatus() const throw();
-    virtual const char *what () const throw();
-    static void throwMe(int err) __attribute((noreturn));
-};
-
-
-/* The engine which performs the actual authentication and authorization computations.
-
-       The implementation of a typical call to AuthorizationCreate would look like:
-       
-       Get the current shared CredentialSet for this session.
-       Call authorizedRights() with inRights and the shared CredentialSet.
-       Compute the difference set between the rights requested and the rights returned from authorizedRights().  
-       Call credentialIds() with the rights computed above (for which we have no credentials yet).
-       Call aquireCredentials() for the credentialIds returned from credentialIds()
-       For each credential returned place it in the session (replacing when needed) if shared() returns true.
-       The authorization returned to the user should now refer to the credentials in the session and the non shared ones returned by aquireCredentials().
-
-       When a call to AuthorizationCopyRights() is made, just call authorizedRights() using the union of the session credentials and the credentials tied to the authorization specified.
-
-       When a call to AuthorizationCopyInfo() is made, ask the Credential specified by tag for it info and return it.
-
-       When a call to AuthorizationFree() is made, delete all the non-shared credentials ascociated with the authorization specified.  If the kAuthorizationFreeFlagDestroy is set.  Also delete the shared credentials ascociated with the authorization specified.
- */
-class Engine
-{
-public:
-       Engine(const char *configFile);
-       ~Engine();
-
-       OSStatus authorize(const AuthItemSet &inRights, const AuthItemSet &environment,
-               AuthorizationFlags flags, const CredentialSet *inCredentials, CredentialSet *outCredentials,
-               AuthItemSet &outRights, AuthorizationToken &auth);
-       OSStatus getRule(string &inRightName, CFDictionaryRef *outRuleDefinition);
-       OSStatus setRule(const char *inRightName, CFDictionaryRef inRuleDefinition, const CredentialSet *inCredentials, CredentialSet *outCredentials, AuthorizationToken &auth);
-       OSStatus removeRule(const char *inRightName, const CredentialSet *inCredentials, CredentialSet *outCredentials, AuthorizationToken &auth);
-
-private:
-       OSStatus verifyModification(string inRightName, bool remove,
-       const CredentialSet *inCredentials, CredentialSet *outCredentials, AuthorizationToken &auth);
-
-       AuthorizationDBPlist mAuthdb;
-    mutable Mutex mLock;
-};
-
-}; // namespace Authorization
-
-#endif /* ! _H_AUTHORIZATIONENGINE */