]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_codesigning/lib/csprocess.h
Security-59306.61.1.tar.gz
[apple/security.git] / OSX / libsecurity_codesigning / lib / csprocess.h
index f98126bdd5a440b7f146f8ad3c167ec4de28c5cd..b0a370e42f43b6c412ca3d0097f5e0e82fb6bf50 100644 (file)
@@ -27,9 +27,9 @@
 #ifndef _H_CSPROCESS
 #define _H_CSPROCESS
 
-#include "csgeneric.h"
+#include "Code.h"
 #include "StaticCode.h"
-#include "PidDiskRep.h"
+#include "piddiskrep.h"
 #include <security_utilities/utilities.h>
 
 namespace Security {
@@ -38,23 +38,23 @@ namespace CodeSigning {
 
 //
 // A SecCode that represents a running UNIX process.
-// Processes are identified by pid.
+// Processes are identified by pid and audit token.
 //
-// ProcessCode inherits GenericCode's access to the cshosting Mach protocol to
-// deal with guests.
-//
-class ProcessCode : public GenericCode {
+class ProcessCode : public SecCode {
 public:
-       ProcessCode(pid_t pid, PidDiskRep *pidDiskRep = NULL);
-       ~ProcessCode() throw () { }
+       ProcessCode(pid_t pid, const audit_token_t* token, PidDiskRep *pidDiskRep = NULL);
+       ~ProcessCode() throw () { delete mAudit; }
        
        pid_t pid() const { return mPid; }
-        PidDiskRep *pidBased() const { return mPidBased; }
-
-       mach_port_t getHostingPort();
+       const audit_token_t* audit() const { return mAudit; }
+       
+       PidDiskRep *pidBased() const { return mPidBased; }
+       
+       int csops(unsigned int ops, void *addr, size_t size);
 
 private:
        pid_t mPid;
+       audit_token_t* mAudit;
        RefPointer<PidDiskRep> mPidBased;
 };
 
@@ -75,7 +75,7 @@ public:
         void validateComponent(CodeDirectory::SpecialSlot slot, OSStatus fail = errSecCSSignatureFailed);
 private:
         ProcessCode *mGuest;
-
+        CFRef<CFDictionaryRef> mEmptyInfoDict;
 };
 
 } // end namespace CodeSigning