]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/gssd/gssd_mach.defs
xnu-6153.121.1.tar.gz
[apple/xnu.git] / osfmk / gssd / gssd_mach.defs
index abe5ffe08a960f7e7ebdc6c678ddff7affc157a0..774f28e3537b2ed19233294c2048baa03f7ea829 100644 (file)
@@ -44,6 +44,7 @@ type gssd_verifier =  uint64_t;
 type gssd_gid_list = array [*:16] of uint32_t;
 type gssd_ctx = uint64_t;
 type gssd_cred = uint64_t;
+type gssd_etype_list = array [*:64] of int32_t;
 
 subsystem
 #if KERNEL_USER
@@ -53,7 +54,7 @@ gssd_mach  999;
 
 serverprefix svc_;
 
-routine mach_gss_init_sec_context(
+Routine mach_gss_init_sec_context(
        server                  : mach_port_t;
        in  mech                : gssd_mechtype;
        in  intoken             : gssd_byte_buffer;
@@ -64,6 +65,7 @@ routine mach_gss_init_sec_context(
        in  gssd_flags          : uint32_t;
        inout context           : gssd_ctx;
        inout cred_handle       : gssd_cred;
+       ServerAuditToken atoken : audit_token_t;
        out  ret_flags          : uint32_t;
        out  key                : gssd_byte_buffer, dealloc;
        out outtoken            : gssd_byte_buffer, dealloc;
@@ -78,6 +80,7 @@ routine mach_gss_accept_sec_context(
        in  gssd_flags          : uint32_t;
        inout context           : gssd_ctx;
        inout cred_handle       : gssd_cred;
+       ServerAuditToken atoken : audit_token_t;
        out flags               : uint32_t;
        out uid                 : uint32_t;
        out gids                : gssd_gid_list;
@@ -93,7 +96,8 @@ simpleroutine mach_gss_log_error(
        in  uid                 : uint32_t;
        in  source              : gssd_string;
        in  major_stat          : uint32_t;
-       in  minor_stat          : uint32_t
+       in  minor_stat          : uint32_t;
+       ServerAuditToken atoken : audit_token_t
 );
 
 routine mach_gss_init_sec_context_v2(
@@ -109,6 +113,7 @@ routine mach_gss_init_sec_context_v2(
        inout gssd_flags        : uint32_t;
        inout context           : gssd_ctx;
        inout cred_handle       : gssd_cred;
+       ServerAuditToken atoken : audit_token_t;
        out  ret_flags          : uint32_t;
        out  key                : gssd_byte_buffer, dealloc;
        out outtoken            : gssd_byte_buffer, dealloc;
@@ -125,6 +130,7 @@ routine mach_gss_accept_sec_context_v2(
        inout gssd_flags        : uint32_t;
        inout context           : gssd_ctx;
        inout cred_handle       : gssd_cred;
+       ServerAuditToken atoken : audit_token_t;
        out flags               : uint32_t;
        out uid                 : uint32_t;
        out gids                : gssd_gid_list;
@@ -134,11 +140,35 @@ routine mach_gss_accept_sec_context_v2(
        out minor_stat          : uint32_t
 );
 
+routine mach_gss_init_sec_context_v3(
+       server                  : mach_port_t;
+       in  mech                : gssd_mechtype;
+       in  intoken             : gssd_byte_buffer;
+       in  uid                 : uint32_t;
+       in  clnt_nt             : gssd_nametype;
+       in  clnt_princ          : gssd_byte_buffer;
+       in  svc_nt              : gssd_nametype;
+       in  svc_princ           : gssd_byte_buffer;
+       in  flags               : uint32_t;
+       in  etypes              : gssd_etype_list;
+       inout gssd_flags        : uint32_t;
+       inout context           : gssd_ctx;
+       inout cred_handle       : gssd_cred;
+       ServerAuditToken atoken : audit_token_t;
+       out  ret_flags          : uint32_t;
+       out key                 : gssd_byte_buffer, dealloc;
+       out outtoken            : gssd_byte_buffer, dealloc;
+       out displayname         : gssd_dstring;
+       out major_stat          : uint32_t;
+       out minor_stat          : uint32_t
+);
+
 routine mach_gss_hold_cred(
        server                  : mach_port_t;
        in  mech                : gssd_mechtype;
        in  nt                  : gssd_nametype;
        in  princ               : gssd_byte_buffer;
+       ServerAuditToken atoken : audit_token_t;
        out major_stat          : uint32_t;
        out minor_stat          : uint32_t
 );
@@ -148,6 +178,15 @@ routine mach_gss_unhold_cred(
        in  mech                : gssd_mechtype;
        in  nt                  : gssd_nametype;
        in  princ               : gssd_byte_buffer;
+       ServerAuditToken atoken : audit_token_t;
        out major_stat          : uint32_t;
        out minor_stat          : uint32_t
 );
+
+routine mach_gss_lookup(
+       server                  : mach_port_t;
+       in  uid                 : uint32_t;
+       in  asid                : int32_t;
+       ServerAuditToken atoken : audit_token_t;
+       out gssd_session_port   : mach_port_t
+);