From e68db7fbfc367f25ccbaf57ec43f0f4b3c93cba7 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 6 Sep 2025 16:16:03 +0900 Subject: system: unexport Op implementations None of these are valid with their zero value, and the implementations assume they are created by the builder methods. They are by all means an implementation detail and exporting them makes no sense. Signed-off-by: Ophestra --- system/acl.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'system/acl.go') diff --git a/system/acl.go b/system/acl.go index 4052d011..b49b3df4 100644 --- a/system/acl.go +++ b/system/acl.go @@ -9,33 +9,33 @@ import ( "hakurei.app/system/acl" ) -// UpdatePerm appends [ACLUpdateOp] to [I] with the [Process] criteria. +// UpdatePerm calls UpdatePermType with the [Process] criteria. func (sys *I) UpdatePerm(path string, perms ...acl.Perm) *I { sys.UpdatePermType(Process, path, perms...) return sys } -// UpdatePermType appends [ACLUpdateOp] to [I]. +// UpdatePermType maintains [acl.Perms] on a file until its [Enablement] is no longer satisfied. func (sys *I) UpdatePermType(et Enablement, path string, perms ...acl.Perm) *I { - sys.ops = append(sys.ops, &ACLUpdateOp{et, path, perms}) + sys.ops = append(sys.ops, &aclUpdateOp{et, path, perms}) return sys } -// ACLUpdateOp maintains [acl.Perms] on a file until its [Enablement] is no longer satisfied. -type ACLUpdateOp struct { +// aclUpdateOp implements [I.UpdatePermType]. +type aclUpdateOp struct { et Enablement path string perms acl.Perms } -func (a *ACLUpdateOp) Type() Enablement { return a.et } +func (a *aclUpdateOp) Type() Enablement { return a.et } -func (a *ACLUpdateOp) apply(sys *I) error { +func (a *aclUpdateOp) apply(sys *I) error { sys.verbose("applying ACL", a) return newOpError("acl", sys.aclUpdate(a.path, sys.uid, a.perms...), false) } -func (a *ACLUpdateOp) revert(sys *I, ec *Criteria) error { +func (a *aclUpdateOp) revert(sys *I, ec *Criteria) error { if ec.hasType(a.Type()) { sys.verbose("stripping ACL", a) err := sys.aclUpdate(a.path, sys.uid) @@ -51,17 +51,17 @@ func (a *ACLUpdateOp) revert(sys *I, ec *Criteria) error { } } -func (a *ACLUpdateOp) Is(o Op) bool { - target, ok := o.(*ACLUpdateOp) +func (a *aclUpdateOp) Is(o Op) bool { + target, ok := o.(*aclUpdateOp) return ok && a != nil && target != nil && a.et == target.et && a.path == target.path && slices.Equal(a.perms, target.perms) } -func (a *ACLUpdateOp) Path() string { return a.path } +func (a *aclUpdateOp) Path() string { return a.path } -func (a *ACLUpdateOp) String() string { +func (a *aclUpdateOp) String() string { return fmt.Sprintf("%s type: %s path: %q", a.perms, TypeString(a.et), a.path) } -- cgit v1.3.1