// // This no longer talks to securityd; it is a kernel function. // OSStatus SessionGetInfo(SecuritySessionId requestedSession, SecuritySessionId *sessionId, SessionAttributeBits *attributes) { BEGIN_API CommonCriteria::AuditInfo session; if (requestedSession == callerSecuritySession) session.get(); else session.get(requestedSession); if (sessionId) *sessionId = session.sessionId(); if (attributes) *attributes = (SessionAttributeBits)session.flags(); END_API(CSSM) }
// OSStatus SessionCreate(SessionCreationFlags flags, SessionAttributeBits attributes) { BEGIN_API // we don't support the session creation flags anymore if (flags) Syslog::warning("SessionCreate flags=0x%lx unsupported (ignored)", (unsigned long)flags); CommonCriteria::AuditInfo session; session.create(attributes); // retrieve the (new) session id and set it into the process environment session.get(); char idString[80]; snprintf(idString, sizeof(idString), "%x", session.sessionId()); setenv("SECURITYSESSIONID", idString, 1); END_API(CSSM) } // // Get and set the distinguished uid (optionally) associated with the session. // OSStatus SessionSetDistinguishedUser(SecuritySessionId session, uid_t user) { BEGIN_API CommonCriteria::AuditInfo session; session.get(); session.ai_auid = user;