Lines Matching refs:rec
210 SELinuxLabelResource(XaceResourceAccessRec * rec, SELinuxSubjectRec * subj, in SELinuxLabelResource() argument
217 if (rec->rtype & RC_DRAWABLE && subj->win_create_sid) { in SELinuxLabelResource()
222 if (rec->parent) in SELinuxLabelResource()
223 offset = dixLookupPrivateOffset(rec->ptype); in SELinuxLabelResource()
225 if (rec->parent && offset >= 0) { in SELinuxLabelResource()
227 PrivateRec **privatePtr = DEVPRIV_AT(rec->parent, offset); in SELinuxLabelResource()
334 XaceDeviceAccessRec *rec = calldata; in SELinuxDevice() local
337 SELinuxAuditRec auditdata = {.client = rec->client,.dev = rec->dev }; in SELinuxDevice()
341 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxDevice()
342 obj = dixLookupPrivate(&rec->dev->devPrivates, objectKey); in SELinuxDevice()
345 if (rec->access_mode & DixCreateAccess) { in SELinuxDevice()
348 dsubj = dixLookupPrivate(&rec->dev->devPrivates, subjectKey); in SELinuxDevice()
362 cls = IsPointerDevice(rec->dev) ? SECCLASS_X_POINTER : SECCLASS_X_KEYBOARD; in SELinuxDevice()
363 rc = SELinuxDoCheck(subj, obj, cls, rec->access_mode, &auditdata); in SELinuxDevice()
365 rec->status = rc; in SELinuxDevice()
371 XaceSendAccessRec *rec = calldata; in SELinuxSend() local
374 SELinuxAuditRec auditdata = {.client = rec->client,.dev = rec->dev }; in SELinuxSend()
378 if (rec->dev) in SELinuxSend()
379 subj = dixLookupPrivate(&rec->dev->devPrivates, subjectKey); in SELinuxSend()
381 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxSend()
383 obj = dixLookupPrivate(&rec->pWin->devPrivates, objectKey); in SELinuxSend()
392 for (i = 0; i < rec->count; i++) { in SELinuxSend()
393 type = rec->events[i].u.u.type; in SELinuxSend()
407 rec->status = rc; in SELinuxSend()
413 XaceReceiveAccessRec *rec = calldata; in SELinuxReceive() local
420 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxReceive()
421 obj = dixLookupPrivate(&rec->pWin->devPrivates, objectKey); in SELinuxReceive()
430 for (i = 0; i < rec->count; i++) { in SELinuxReceive()
431 type = rec->events[i].u.u.type; in SELinuxReceive()
445 rec->status = rc; in SELinuxReceive()
451 XaceExtAccessRec *rec = calldata; in SELinuxExtension() local
454 SELinuxAuditRec auditdata = {.client = rec->client }; in SELinuxExtension()
457 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxExtension()
458 obj = dixLookupPrivate(&rec->ext->devPrivates, objectKey); in SELinuxExtension()
466 rc = SELinuxExtensionToSID(rec->ext->name, &sid); in SELinuxExtension()
468 rec->status = rc; in SELinuxExtension()
476 rec->status = BadValue; in SELinuxExtension()
482 auditdata.extension = (char *) rec->ext->name; in SELinuxExtension()
483 rc = SELinuxDoCheck(subj, obj, SECCLASS_X_EXTENSION, rec->access_mode, in SELinuxExtension()
486 rec->status = rc; in SELinuxExtension()
492 XaceSelectionAccessRec *rec = calldata; in SELinuxSelection() local
495 Selection *pSel = *rec->ppSel; in SELinuxSelection()
497 Mask access_mode = rec->access_mode; in SELinuxSelection()
498 SELinuxAuditRec auditdata = {.client = rec->client,.selection = name }; in SELinuxSelection()
502 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxSelection()
516 rec->status = rc; in SELinuxSelection()
526 *rec->ppSel = pSel; in SELinuxSelection()
528 rec->status = BadMatch; in SELinuxSelection()
537 rec->status = rc; in SELinuxSelection()
552 XacePropertyAccessRec *rec = calldata; in SELinuxProperty() local
555 PropertyPtr pProp = *rec->ppProp; in SELinuxProperty()
557 SELinuxAuditRec auditdata = {.client = rec->client,.property = name }; in SELinuxProperty()
562 if (rec->access_mode & DixPostAccess) in SELinuxProperty()
565 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxProperty()
569 if (rec->access_mode & DixCreateAccess) { in SELinuxProperty()
572 rec->status = rc; in SELinuxProperty()
580 rec->status = rc; in SELinuxProperty()
590 *rec->ppProp = pProp; in SELinuxProperty()
592 rec->status = BadMatch; in SELinuxProperty()
598 rc = SELinuxDoCheck(subj, obj, SECCLASS_X_PROPERTY, rec->access_mode, in SELinuxProperty()
601 rec->status = rc; in SELinuxProperty()
604 if (rec->access_mode & DixWriteAccess) { in SELinuxProperty()
616 XaceResourceAccessRec *rec = calldata; in SELinuxResource() local
619 SELinuxAuditRec auditdata = {.client = rec->client }; in SELinuxResource()
620 Mask access_mode = rec->access_mode; in SELinuxResource()
625 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxResource()
628 offset = dixLookupPrivateOffset(rec->rtype); in SELinuxResource()
632 privatePtr = &clients[CLIENT_ID(rec->id)]->devPrivates; in SELinuxResource()
637 class = SELinuxTypeToClass(rec->rtype); in SELinuxResource()
638 privatePtr = DEVPRIV_AT(rec->res, offset); in SELinuxResource()
644 rc = SELinuxLabelResource(rec, subj, obj, class); in SELinuxResource()
646 rec->status = rc; in SELinuxResource()
653 access_mode = ! !(rec->access_mode & SELinuxReadMask); /* rd */ in SELinuxResource()
654 access_mode |= ! !(rec->access_mode & ~SELinuxReadMask) << 1; /* wr */ in SELinuxResource()
658 auditdata.restype = rec->rtype; in SELinuxResource()
659 auditdata.id = rec->id; in SELinuxResource()
662 rec->status = rc; in SELinuxResource()
665 if (access_mode & DixCreateAccess && rec->rtype == RT_WINDOW) { in SELinuxResource()
668 ((WindowPtr) rec->res)->forcedBG = TRUE; in SELinuxResource()
675 XaceScreenAccessRec *rec = calldata; in SELinuxScreen() local
678 SELinuxAuditRec auditdata = {.client = rec->client }; in SELinuxScreen()
679 Mask access_mode = rec->access_mode; in SELinuxScreen()
682 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxScreen()
683 obj = dixLookupPrivate(&rec->screen->devPrivates, objectKey); in SELinuxScreen()
691 rec->status = BadValue; in SELinuxScreen()
701 rec->status = rc; in SELinuxScreen()
707 XaceClientAccessRec *rec = calldata; in SELinuxClient() local
710 SELinuxAuditRec auditdata = {.client = rec->client }; in SELinuxClient()
713 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxClient()
714 obj = dixLookupPrivate(&rec->target->devPrivates, objectKey); in SELinuxClient()
716 rc = SELinuxDoCheck(subj, obj, SECCLASS_X_CLIENT, rec->access_mode, in SELinuxClient()
719 rec->status = rc; in SELinuxClient()
725 XaceServerAccessRec *rec = calldata; in SELinuxServer() local
728 SELinuxAuditRec auditdata = {.client = rec->client }; in SELinuxServer()
731 subj = dixLookupPrivate(&rec->client->devPrivates, subjectKey); in SELinuxServer()
734 rc = SELinuxDoCheck(subj, obj, SECCLASS_X_SERVER, rec->access_mode, in SELinuxServer()
737 rec->status = rc; in SELinuxServer()
762 ResourceStateInfoRec *rec = calldata; in SELinuxResourceState() local
767 if (rec->type != RT_WINDOW) in SELinuxResourceState()
769 if (rec->state != ResourceStateAdding) in SELinuxResourceState()
772 pWin = (WindowPtr) rec->value; in SELinuxResourceState()