Lines Matching refs:pcp

1319 pc_free(permcheck_t *pcp)  in pc_free()  argument
1324 for (i = 0; i < pcp->pc_bnum; ++i) { in pc_free()
1325 for (ep = pcp->pc_buckets[i]; ep != NULL; ep = next) { in pc_free()
1331 free(pcp->pc_buckets); in pc_free()
1332 free(pcp); in pc_free()
1357 pc_exists(permcheck_t *pcp, const char *auth) in pc_exists() argument
1363 for (ep = pcp->pc_buckets[h & (pcp->pc_bnum - 1)]; in pc_exists()
1367 pcp->pc_auth_string = ep->pce_auth; in pc_exists()
1376 pc_match(permcheck_t *pcp, const char *pattern) in pc_match() argument
1381 for (i = 0; i < pcp->pc_bnum; ++i) { in pc_match()
1382 for (ep = pcp->pc_buckets[i]; ep != NULL; ep = ep->pce_next) { in pc_match()
1384 pcp->pc_auth_string = ep->pce_auth; in pc_match()
1394 pc_grow(permcheck_t *pcp) in pc_grow() argument
1400 new_bnum = pcp->pc_bnum * 2; in pc_grow()
1401 if (new_bnum < pcp->pc_bnum) in pc_grow()
1409 for (i = 0; i < pcp->pc_bnum; ++i) { in pc_grow()
1410 for (ep = pcp->pc_buckets[i]; ep != NULL; ep = next) { in pc_grow()
1418 uu_free(pcp->pc_buckets); in pc_grow()
1419 pcp->pc_buckets = new_buckets; in pc_grow()
1420 pcp->pc_bnum = new_bnum; in pc_grow()
1426 pc_add(permcheck_t *pcp, const char *auth, pc_auth_type_t auth_type) in pc_add() argument
1436 if (pcp->pc_enum * 4 > 3 * pcp->pc_bnum) in pc_add()
1438 (void) pc_grow(pcp); in pc_add()
1442 i = pc_hash(auth) & (pcp->pc_bnum - 1); in pc_add()
1443 ep->pce_next = pcp->pc_buckets[i]; in pc_add()
1444 pcp->pc_buckets[i] = ep; in pc_add()
1446 if (auth_type > pcp->pc_specific_type) { in pc_add()
1447 pcp->pc_specific_type = auth_type; in pc_add()
1448 pcp->pc_specific = ep; in pc_add()
1451 ++pcp->pc_enum; in pc_add()
1480 perm_add_enabling_type(permcheck_t *pcp, const char *auth, in perm_add_enabling_type() argument
1483 return (pc_add(pcp, auth, auth_type) == 0 ? REP_PROTOCOL_SUCCESS : in perm_add_enabling_type()
1492 perm_add_enabling(permcheck_t *pcp, const char *auth) in perm_add_enabling() argument
1494 return (perm_add_enabling_type(pcp, auth, PC_AUTH_SMF)); in perm_add_enabling()
1511 permcheck_t *pcp = ctxt; in auth_cb() local
1515 *pret = pc_exists(pcp, auth); in auth_cb()
1517 *pret = pc_match(pcp, auth); in auth_cb()
1525 assert(pcp->pc_specific != NULL); in auth_cb()
1526 pcp->pc_auth_string = pcp->pc_specific->pce_auth; in auth_cb()
1532 perm_granted(permcheck_t *pcp) in perm_granted() argument
1573 if (_enum_auths(pw.pw_name, auth_cb, pcp, &ret) < 0) in perm_granted()
1580 map_granted_status(perm_status_t status, permcheck_t *pcp, in map_granted_status() argument
1588 *match_auth = strdup(pcp->pc_auth_string); in map_granted_status()
1595 *match_auth = strdup(pcp->pc_auth_string); in map_granted_status()
2550 perm_add_pg_prop_values(permcheck_t *pcp, rc_node_t *pg, const char *propname) in perm_add_pg_prop_values() argument
2591 result = perm_add_enabling_type(pcp, cp, in perm_add_pg_prop_values()
2616 perm_add_ent_prop_values(permcheck_t *pcp, rc_node_t *ent, const char *pgname, in perm_add_ent_prop_values() argument
2645 r = perm_add_pg_prop_values(pcp, pg, propname); in perm_add_ent_prop_values()
2676 perm_add_enabling_values(permcheck_t *pcp, rc_node_t *pg, const char *propname) in perm_add_enabling_values() argument
2683 r = perm_add_pg_prop_values(pcp, pg, propname); in perm_add_enabling_values()
2709 r = perm_add_ent_prop_values(pcp, svc, pgname, NULL, propname); in perm_add_enabling_values()
2727 perm_add_inst_action_auth(permcheck_t *pcp, rc_node_t *inst) in perm_add_inst_action_auth() argument
2734 r = perm_add_ent_prop_values(pcp, inst, AUTH_PG_GENERAL, in perm_add_inst_action_auth()
2746 r = perm_add_ent_prop_values(pcp, svc, AUTH_PG_GENERAL, in perm_add_inst_action_auth()
3346 permcheck_t *pcp; in rc_node_modify_permission_check() local
3359 pcp = pc_create(); in rc_node_modify_permission_check()
3360 if (pcp != NULL) { in rc_node_modify_permission_check()
3361 rc = perm_add_enabling(pcp, AUTH_MODIFY); in rc_node_modify_permission_check()
3364 granted = perm_granted(pcp); in rc_node_modify_permission_check()
3373 strdup(pcp->pc_auth_string); in rc_node_modify_permission_check()
3381 pc_free(pcp); in rc_node_modify_permission_check()
4002 permcheck_t *pcp; in rc_node_create_child_pg() local
4055 pcp = pc_create(); in rc_node_create_child_pg()
4056 if (pcp != NULL) { in rc_node_create_child_pg()
4057 rc = perm_add_enabling(pcp, AUTH_MODIFY); in rc_node_create_child_pg()
4064 rc = perm_add_enabling(pcp, auth); in rc_node_create_child_pg()
4078 rc = perm_add_enabling(pcp, AUTH_MANAGE); in rc_node_create_child_pg()
4081 rc = perm_add_inst_action_auth(pcp, np); in rc_node_create_child_pg()
4085 granted = perm_granted(pcp); in rc_node_create_child_pg()
4087 rc = map_granted_status(granted, pcp, in rc_node_create_child_pg()
4091 pc_free(pcp); in rc_node_create_child_pg()
4097 pc_free(pcp); in rc_node_create_child_pg()
4704 permcheck_t *pcp; in rc_node_delete() local
4878 pcp = pc_create(); in rc_node_delete()
4879 if (pcp != NULL) { in rc_node_delete()
4880 rc = perm_add_enabling(pcp, AUTH_MODIFY); in rc_node_delete()
4889 rc = perm_add_enabling(pcp, auth); in rc_node_delete()
4893 granted = perm_granted(pcp); in rc_node_delete()
4895 rc = map_granted_status(granted, pcp, in rc_node_delete()
4899 pc_free(pcp); in rc_node_delete()
4908 pc_free(pcp); in rc_node_delete()
5793 permcheck_t *pcp; in rc_node_property_may_read() local
5823 pcp = pc_create(); in rc_node_property_may_read()
5825 if (pcp == NULL) { in rc_node_property_may_read()
5830 ret = perm_add_enabling(pcp, AUTH_MODIFY); in rc_node_property_may_read()
5837 ret = perm_add_enabling(pcp, auth); in rc_node_property_may_read()
5849 ret = perm_add_enabling_values(pcp, pgp, in rc_node_property_may_read()
5854 ret = perm_add_enabling_values(pcp, pgp, in rc_node_property_may_read()
5858 ret = perm_add_enabling_values(pcp, pgp, in rc_node_property_may_read()
5864 granted = perm_granted(pcp); in rc_node_property_may_read()
5892 audit_data.ed_auth = pcp->pc_auth_string; in rc_node_property_may_read()
5898 pc_free(pcp); in rc_node_property_may_read()
6651 permcheck_t *pcp; in rc_node_setup_tx() local
6685 pcp = pc_create(); in rc_node_setup_tx()
6686 if (pcp == NULL) { in rc_node_setup_tx()
6699 ret = perm_add_enabling(pcp, AUTH_MODIFY); in rc_node_setup_tx()
6701 pc_free(pcp); in rc_node_setup_tx()
6707 ret = perm_add_enabling(pcp, AUTH_MANAGE); in rc_node_setup_tx()
6710 pc_free(pcp); in rc_node_setup_tx()
6720 pc_free(pcp); in rc_node_setup_tx()
6726 ret = perm_add_inst_action_auth(pcp, instn); in rc_node_setup_tx()
6735 pc_free(pcp); in rc_node_setup_tx()
6745 ret = perm_add_enabling(pcp, AUTH_MODIFY); in rc_node_setup_tx()
6754 ret = perm_add_enabling(pcp, auth); in rc_node_setup_tx()
6760 perm_add_enabling_values(pcp, np, AUTH_PROP_VALUE); in rc_node_setup_tx()
6764 perm_add_enabling_values(pcp, np, AUTH_PROP_MODIFY); in rc_node_setup_tx()
6770 ret = perm_add_enabling(pcp, AUTH_MANAGE); in rc_node_setup_tx()
6773 pc_free(pcp); in rc_node_setup_tx()
6779 granted = perm_granted(pcp); in rc_node_setup_tx()
6780 ret = map_granted_status(granted, pcp, &auth_string); in rc_node_setup_tx()
6781 pc_free(pcp); in rc_node_setup_tx()
6980 permcheck_t *pcp; in rc_tx_commit() local
7008 pcp = pc_create(); in rc_tx_commit()
7009 if (pcp == NULL) in rc_tx_commit()
7021 pc_free(pcp); in rc_tx_commit()
7030 rc = perm_add_enabling(pcp, AUTH_MODIFY); in rc_tx_commit()
7033 rc = perm_add_enabling(pcp, in rc_tx_commit()
7047 pc_free(pcp); in rc_tx_commit()
7055 pc_free(pcp); in rc_tx_commit()
7062 rc = perm_add_inst_action_auth(pcp, instn); in rc_tx_commit()
7070 pc_free(pcp); in rc_tx_commit()
7083 rc = perm_add_enabling(pcp, AUTH_MODIFY); in rc_tx_commit()
7091 rc = perm_add_enabling(pcp, auth); in rc_tx_commit()
7096 rc = perm_add_enabling_values(pcp, np, in rc_tx_commit()
7105 rc = perm_add_enabling_values(pcp, np, in rc_tx_commit()
7111 granted = perm_granted(pcp); in rc_tx_commit()
7112 rc = map_granted_status(granted, pcp, &auth_string); in rc_tx_commit()
7123 pc_free(pcp); in rc_tx_commit()