/src/pacemaker/include/crm/common/acl_internal.h
Line | Count | Source |
1 | | /* |
2 | | * Copyright 2015-2026 the Pacemaker project contributors |
3 | | * |
4 | | * The version control history for this file may have further details. |
5 | | * |
6 | | * This source code is licensed under the GNU Lesser General Public License |
7 | | * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY. |
8 | | */ |
9 | | |
10 | | #ifndef PCMK__INCLUDED_CRM_COMMON_INTERNAL_H |
11 | | #error "Include <crm/common/internal.h> instead of <acl_internal.h> directly" |
12 | | #endif |
13 | | |
14 | | #ifndef PCMK__CRM_COMMON_ACL_INTERNAL__H |
15 | | #define PCMK__CRM_COMMON_ACL_INTERNAL__H |
16 | | |
17 | | #include <stdbool.h> |
18 | | #include <string.h> // strcmp() |
19 | | #include <libxml/tree.h> // xmlNode |
20 | | |
21 | | #include <crm/common/xml_internal.h> // enum pcmk__xml_flags |
22 | | |
23 | | #ifdef __cplusplus |
24 | | extern "C" { |
25 | | #endif |
26 | | |
27 | | /* internal ACL-related utilities */ |
28 | | |
29 | | char *pcmk__uid2username(uid_t uid); |
30 | | const char *pcmk__update_acl_user(xmlNode *request, const char *field, |
31 | | const char *peer_user); |
32 | | |
33 | | static inline bool |
34 | | pcmk__is_privileged(const char *user) |
35 | 0 | { |
36 | 0 | return user && (!strcmp(user, CRM_DAEMON_USER) || !strcmp(user, "root")); |
37 | 0 | } Unexecuted instantiation: scores_fuzzer.c:pcmk__is_privileged Unexecuted instantiation: results.c:pcmk__is_privileged Unexecuted instantiation: scores.c:pcmk__is_privileged Unexecuted instantiation: strings.c:pcmk__is_privileged Unexecuted instantiation: utils.c:pcmk__is_privileged Unexecuted instantiation: iso8601.c:pcmk__is_privileged Unexecuted instantiation: logging.c:pcmk__is_privileged Unexecuted instantiation: mainloop.c:pcmk__is_privileged Unexecuted instantiation: options.c:pcmk__is_privileged Unexecuted instantiation: output.c:pcmk__is_privileged Unexecuted instantiation: output_log.c:pcmk__is_privileged Unexecuted instantiation: output_text.c:pcmk__is_privileged Unexecuted instantiation: output_xml.c:pcmk__is_privileged Unexecuted instantiation: patchset_display.c:pcmk__is_privileged Unexecuted instantiation: schemas.c:pcmk__is_privileged Unexecuted instantiation: xml.c:pcmk__is_privileged Unexecuted instantiation: xml_attr.c:pcmk__is_privileged Unexecuted instantiation: xml_comment.c:pcmk__is_privileged Unexecuted instantiation: xml_display.c:pcmk__is_privileged Unexecuted instantiation: xml_element.c:pcmk__is_privileged Unexecuted instantiation: xml_idref.c:pcmk__is_privileged Unexecuted instantiation: xml_io.c:pcmk__is_privileged Unexecuted instantiation: xpath.c:pcmk__is_privileged Unexecuted instantiation: acl.c:pcmk__is_privileged Unexecuted instantiation: actions.c:pcmk__is_privileged Unexecuted instantiation: agents.c:pcmk__is_privileged Unexecuted instantiation: cmdline.c:pcmk__is_privileged Unexecuted instantiation: digest.c:pcmk__is_privileged Unexecuted instantiation: health.c:pcmk__is_privileged Unexecuted instantiation: io.c:pcmk__is_privileged Unexecuted instantiation: ipc_client.c:pcmk__is_privileged Unexecuted instantiation: ipc_common.c:pcmk__is_privileged Unexecuted instantiation: ipc_controld.c:pcmk__is_privileged Unexecuted instantiation: ipc_pacemakerd.c:pcmk__is_privileged Unexecuted instantiation: ipc_schedulerd.c:pcmk__is_privileged Unexecuted instantiation: ipc_server.c:pcmk__is_privileged Unexecuted instantiation: messages.c:pcmk__is_privileged Unexecuted instantiation: nodes.c:pcmk__is_privileged Unexecuted instantiation: nvpair.c:pcmk__is_privileged Unexecuted instantiation: options_display.c:pcmk__is_privileged Unexecuted instantiation: patchset.c:pcmk__is_privileged Unexecuted instantiation: procfs.c:pcmk__is_privileged Unexecuted instantiation: rules.c:pcmk__is_privileged Unexecuted instantiation: servers.c:pcmk__is_privileged Unexecuted instantiation: cib.c:pcmk__is_privileged Unexecuted instantiation: ipc_attrd.c:pcmk__is_privileged Unexecuted instantiation: pid.c:pcmk__is_privileged Unexecuted instantiation: attrs.c:pcmk__is_privileged Unexecuted instantiation: strings_fuzzer.c:pcmk__is_privileged Unexecuted instantiation: cib_file_fuzzer.c:pcmk__is_privileged Unexecuted instantiation: cib_client.c:pcmk__is_privileged Unexecuted instantiation: cib_file.c:pcmk__is_privileged Unexecuted instantiation: cib_native.c:pcmk__is_privileged Unexecuted instantiation: cib_ops.c:pcmk__is_privileged Unexecuted instantiation: cib_remote.c:pcmk__is_privileged Unexecuted instantiation: cib_utils.c:pcmk__is_privileged Unexecuted instantiation: remote.c:pcmk__is_privileged Unexecuted instantiation: tls.c:pcmk__is_privileged Unexecuted instantiation: watchdog.c:pcmk__is_privileged Unexecuted instantiation: iso8601_fuzzer.c:pcmk__is_privileged |
38 | | |
39 | | void pcmk__enable_acls(xmlDoc *source, xmlDoc *target, const char *user); |
40 | | |
41 | | bool pcmk__check_acl(xmlNode *xml, const char *attr_name, |
42 | | enum pcmk__xml_flags mode); |
43 | | |
44 | | #ifdef __cplusplus |
45 | | } |
46 | | #endif |
47 | | |
48 | | #endif // PCMK__CRM_COMMON_INTERNAL__H |