]> git.saurik.com Git - apple/security.git/blobdiff - securityd/src/agentquery.h
Security-59306.101.1.tar.gz
[apple/security.git] / securityd / src / agentquery.h
index 5304bef5df76d1c7e264bd020cc9e0ca0d3cf0fa..27a03ae763aca1e9f88252643c6238ff348a08e5 100644 (file)
@@ -32,7 +32,6 @@
 #include <security_utilities/ccaudit.h> // some queries do their own authentication
 #include <Security/AuthorizationPlugin.h>
 #include "kcdatabase.h"
-#include "AuthorizationEngine.h"
 #include "authhost.h"
 #include "server.h"
 #include "session.h"
@@ -42,25 +41,21 @@ using Authorization::AuthItemSet;
 using Authorization::AuthValueVector;
 using Security::OSXCode;
 
-const uint64_t kMaximumAuthorizationTries = 10000;
+#define kMaximumAuthorizationTries (10000)
 
 //
 // base for classes talking to com.apple.security.agent and com.apple.security.authhost 
 //
-class SecurityAgentXPCConnection : public SecurityAgentConnectionInterface
+class SecurityAgentXPCConnection
 {
 public:
-    SecurityAgentXPCConnection(const AuthHostType type = securityAgent, Session &session = Server::session());
+    SecurityAgentXPCConnection(Session &session = Server::session());
     virtual ~SecurityAgentXPCConnection();
     virtual void activate(bool ignoreUid);
-    virtual void reconnect();
     virtual void disconnect()  { };
     virtual void terminate();
-    
-    AuthHostType hostType()  { return mAuthHostType; }
-    
+        
 protected:
-    AuthHostType mAuthHostType;
     RefPointer<AuthHostInstance> mHostInstance;
     Session &mSession;
     xpc_connection_t mXPCConnection;
@@ -74,7 +69,7 @@ protected:
 
 
 //
-// The main com.apple.security.agent/com.apple.security.authhost interaction base class
+// The main com.apple.security.agent interaction base class
 //
 class SecurityAgentXPCQuery : public SecurityAgentXPCConnection
 {
@@ -83,7 +78,7 @@ public:
        
     typedef SecurityAgent::Reason Reason;
        
-       SecurityAgentXPCQuery(const AuthHostType type = securityAgent, Session &session = Server::session());
+       SecurityAgentXPCQuery(Session &session = Server::session());
        
     
        void inferHints(Process &thisProcess);
@@ -94,7 +89,7 @@ public:
        virtual void disconnect();
        virtual void terminate();
        void create(const char *pluginId, const char *mechanismId);
-    OSStatus invoke();
+    void invoke();
     void setTerminateOnSleep(bool terminateOnSleep) {mTerminateOnSleep = terminateOnSleep;}
     bool getTerminateOnSleep() {return mTerminateOnSleep;}
     void setInput(const AuthItemSet& inHints, const AuthItemSet& inContext) { mInHints = inHints; mInContext = inContext; }
@@ -130,15 +125,6 @@ private:
 };
 
 
-//
-// Specialized for code signature adjustment queries
-//
-class QueryCodeCheck : public SecurityAgentXPCQuery {
-public:
-    bool operator () (const char *aclPath);
-};
-
-
 //
 // A query for an existing passphrase
 //
@@ -269,7 +255,7 @@ class QueryKeychainAuth : public SecurityAgentXPCQuery {
 public:
     QueryKeychainAuth()  { }
     // "prompt" can be NULL
-    Reason operator () (const char *database, const char *description, AclAuthorization action, const char *prompt);
+    Reason performQuery(const KeychainDatabase&, const char *description, AclAuthorization action, const char *prompt);
     Reason accept(string &username, string &passphrase);
 };