Lines Matching defs:scope
67 * If a listener comes in for a scope that is not active we hang the listener
68 * off our kauth_dangling_listeners list and once the scope becomes active we
69 * remove it from kauth_dangling_listeners and add it to the active scope.
78 /* XXX - kauth_todo - there is a race if a scope listener is removed while we
80 * a scope lock in order to get the best possible performance. we will fix this
124 static int kauth_scope_valid(kauth_scope_t scope);
186 * Allocate and populate the scope structure.
241 * Look for listeners waiting for this scope, move them to the active scope
251 * the active scope.
258 printf("%s - failed to add listener to scope \"%s\" \n", __FUNCTION__, sp->ks_identifier);
273 kauth_deregister_scope(kauth_scope_t scope)
279 TAILQ_REMOVE(&kauth_scopes, scope, ks_link);
283 if (scope->ks_listeners[i].kll_listenerp != NULL) {
284 TAILQ_INSERT_TAIL(&kauth_dangling_listeners, scope->ks_listeners[i].kll_listenerp, kl_link);
285 scope->ks_listeners[i].kll_listenerp = NULL;
288 * kll_idata here. they are part of our scope unlisten race hack
293 FREE(scope, M_KAUTH);
308 * Lock the scope list and check to see whether this scope already exists.
314 /* scope exists, add it to scope listener table */
326 /* scope doesn't exist, put on waiting list. */
343 /* search the active scope for this listener */
354 * kll_idata here. they are part of our scope unlisten race hack
396 kauth_authorize_action(kauth_scope_t scope, kauth_cred_t credential, kauth_action_t action,
401 /* ask the scope */
402 if (scope->ks_callback != NULL)
403 result = scope->ks_callback(credential, scope->ks_idata, action, arg0, arg1, arg2, arg3);
408 if ((scope->ks_flags & KS_F_HAS_LISTENERS) != 0) {
416 if (scope->ks_listeners[i].kll_listenerp == NULL ||
417 scope->ks_listeners[i].kll_callback == NULL)
420 ret = scope->ks_listeners[i].kll_callback(
421 credential, scope->ks_listeners[i].kll_idata,
450 kauth_scope_valid(kauth_scope_t scope)
456 if (sp == scope)
465 * Process authorization scope.
503 * File system operation authorization scope. This is really only a notification
528 * return 1 if we have any listeners for the fileop scope
544 /* we do not have a primary handler for the fileop scope so bail out if
575 * Generic authorization scope.