Module Name: src
Committed By: christos
Date: Sun Mar 27 16:16:39 UTC 2022
Modified Files:
src/sys/sys: kauth.h param.h
Log Message:
Widen kauth_action_t so we can add KAUTH_VNODE_ADD_LINK; welcome to 9.99.96.
To generate a diff of this commit:
cvs rdiff -u -r1.86 -r1.87 src/sys/sys/kauth.h
cvs rdiff -u -r1.708 -r1.709 src/sys/sys/param.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/sys/kauth.h
diff -u src/sys/sys/kauth.h:1.86 src/sys/sys/kauth.h:1.87
--- src/sys/sys/kauth.h:1.86 Tue Sep 8 10:12:57 2020
+++ src/sys/sys/kauth.h Sun Mar 27 12:16:39 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: kauth.h,v 1.86 2020/09/08 14:12:57 christos Exp $ */
+/* $NetBSD: kauth.h,v 1.87 2022/03/27 16:16:39 christos Exp $ */
/*-
* Copyright (c) 2005, 2006 Elad Efrat <[email protected]>
@@ -51,7 +51,7 @@ enum uio_seg;
/* Types. */
typedef struct kauth_scope *kauth_scope_t;
typedef struct kauth_listener *kauth_listener_t;
-typedef uint32_t kauth_action_t;
+typedef uint64_t kauth_action_t;
typedef int (*kauth_scope_callback_t)(kauth_cred_t, kauth_action_t,
void *, void *, void *, void *, void *);
typedef struct kauth_key *kauth_key_t;
@@ -383,36 +383,37 @@ enum {
/*
* Vnode scope - action bits.
*/
-#define KAUTH_VNODE_READ_DATA (1U << 0)
+#define KAUTH_VNODE_READ_DATA (1ULL << 0)
#define KAUTH_VNODE_LIST_DIRECTORY KAUTH_VNODE_READ_DATA
-#define KAUTH_VNODE_WRITE_DATA (1U << 1)
+#define KAUTH_VNODE_WRITE_DATA (1ULL << 1)
#define KAUTH_VNODE_ADD_FILE KAUTH_VNODE_WRITE_DATA
-#define KAUTH_VNODE_EXECUTE (1U << 2)
+#define KAUTH_VNODE_EXECUTE (1ULL << 2)
#define KAUTH_VNODE_SEARCH KAUTH_VNODE_EXECUTE
-#define KAUTH_VNODE_DELETE (1U << 3)
-#define KAUTH_VNODE_APPEND_DATA (1U << 4)
+#define KAUTH_VNODE_DELETE (1ULL << 3)
+#define KAUTH_VNODE_APPEND_DATA (1ULL << 4)
#define KAUTH_VNODE_ADD_SUBDIRECTORY KAUTH_VNODE_APPEND_DATA
-#define KAUTH_VNODE_READ_TIMES (1U << 5)
-#define KAUTH_VNODE_WRITE_TIMES (1U << 6)
-#define KAUTH_VNODE_READ_FLAGS (1U << 7)
-#define KAUTH_VNODE_WRITE_FLAGS (1U << 8)
-#define KAUTH_VNODE_READ_SYSFLAGS (1U << 9)
-#define KAUTH_VNODE_WRITE_SYSFLAGS (1U << 10)
-#define KAUTH_VNODE_RENAME (1U << 11)
-#define KAUTH_VNODE_CHANGE_OWNERSHIP (1U << 12)
-#define KAUTH_VNODE_READ_SECURITY (1U << 13)
-#define KAUTH_VNODE_WRITE_SECURITY (1U << 14)
-#define KAUTH_VNODE_READ_ATTRIBUTES (1U << 15)
-#define KAUTH_VNODE_WRITE_ATTRIBUTES (1U << 16)
-#define KAUTH_VNODE_READ_EXTATTRIBUTES (1U << 17)
-#define KAUTH_VNODE_WRITE_EXTATTRIBUTES (1U << 18)
-#define KAUTH_VNODE_RETAIN_SUID (1U << 19)
-#define KAUTH_VNODE_RETAIN_SGID (1U << 20)
-#define KAUTH_VNODE_REVOKE (1U << 21)
-
-#define KAUTH_VNODE_IS_EXEC (1U << 29)
-#define KAUTH_VNODE_HAS_SYSFLAGS (1U << 30)
-#define KAUTH_VNODE_ACCESS (1U << 31)
+#define KAUTH_VNODE_READ_TIMES (1ULL << 5)
+#define KAUTH_VNODE_WRITE_TIMES (1ULL << 6)
+#define KAUTH_VNODE_READ_FLAGS (1ULL << 7)
+#define KAUTH_VNODE_WRITE_FLAGS (1ULL << 8)
+#define KAUTH_VNODE_READ_SYSFLAGS (1ULL << 9)
+#define KAUTH_VNODE_WRITE_SYSFLAGS (1ULL << 10)
+#define KAUTH_VNODE_RENAME (1ULL << 11)
+#define KAUTH_VNODE_CHANGE_OWNERSHIP (1ULL << 12)
+#define KAUTH_VNODE_READ_SECURITY (1ULL << 13)
+#define KAUTH_VNODE_WRITE_SECURITY (1ULL << 14)
+#define KAUTH_VNODE_READ_ATTRIBUTES (1ULL << 15)
+#define KAUTH_VNODE_WRITE_ATTRIBUTES (1ULL << 16)
+#define KAUTH_VNODE_READ_EXTATTRIBUTES (1ULL << 17)
+#define KAUTH_VNODE_WRITE_EXTATTRIBUTES (1ULL << 18)
+#define KAUTH_VNODE_RETAIN_SUID (1ULL << 19)
+#define KAUTH_VNODE_RETAIN_SGID (1ULL << 20)
+#define KAUTH_VNODE_REVOKE (1ULL << 21)
+
+#define KAUTH_VNODE_IS_EXEC (1ULL << 29)
+#define KAUTH_VNODE_HAS_SYSFLAGS (1ULL << 30)
+#define KAUTH_VNODE_ACCESS (1ULL << 31)
+#define KAUTH_VNODE_ADD_LINK (1ULL << 32)
/*
* This is a special fs_decision indication that can be used by file-systems
@@ -494,6 +495,7 @@ gid_t kauth_cred_getgid(kauth_cred_t);
gid_t kauth_cred_getegid(kauth_cred_t);
gid_t kauth_cred_getsvgid(kauth_cred_t);
int kauth_cred_ismember_gid(kauth_cred_t, gid_t, int *);
+int kauth_cred_groupmember(kauth_cred_t, gid_t);
u_int kauth_cred_ngroups(kauth_cred_t);
gid_t kauth_cred_group(kauth_cred_t, u_int);
Index: src/sys/sys/param.h
diff -u src/sys/sys/param.h:1.708 src/sys/sys/param.h:1.709
--- src/sys/sys/param.h:1.708 Sat Mar 19 09:53:32 2022
+++ src/sys/sys/param.h Sun Mar 27 12:16:39 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: param.h,v 1.708 2022/03/19 13:53:32 hannken Exp $ */
+/* $NetBSD: param.h,v 1.709 2022/03/27 16:16:39 christos Exp $ */
/*-
* Copyright (c) 1982, 1986, 1989, 1993
@@ -67,7 +67,7 @@
* 2.99.9 (299000900)
*/
-#define __NetBSD_Version__ 999009500 /* NetBSD 9.99.95 */
+#define __NetBSD_Version__ 999009600 /* NetBSD 9.99.96 */
#define __NetBSD_Prereq__(M,m,p) (((((M) * 100000000) + \
(m) * 1000000) + (p) * 100) <= __NetBSD_Version__)