Skip to content

Commit 94d87b6

Browse files
committed
seclog: renamed syscall ops interface
1 parent 69c1e13 commit 94d87b6

3 files changed

Lines changed: 32 additions & 32 deletions

File tree

seclog/audit_linux.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,31 +33,31 @@ const (
3333
auditTrustedApp = 1121
3434
)
3535

36-
// netlinkOps abstracts the syscall operations needed to open,
37-
// send to, and close a netlink socket. Production code uses [realNetlinkOps];
36+
// syscallOps abstracts the syscall operations needed to open,
37+
// send to, and close a netlink socket. Production code uses [realSyscallOps];
3838
// tests can substitute a recording or stubbing implementation.
39-
type netlinkOps interface {
39+
type syscallOps interface {
4040
Socket(domain, typ, proto int) (int, error)
4141
Sendto(fd int, payload []byte, flags int, to syscall.Sockaddr) error
4242
Close(fd int) error
4343
}
4444

45-
// realNetlinkOps delegates every operation to the corresponding syscall.
46-
type realNetlinkOps struct{}
45+
// realSyscallOps delegates every operation to the corresponding syscall.
46+
type realSyscallOps struct{}
4747

48-
func (realNetlinkOps) Socket(domain, typ, proto int) (int, error) {
48+
func (realSyscallOps) Socket(domain, typ, proto int) (int, error) {
4949
return syscall.Socket(domain, typ, proto)
5050
}
5151

52-
func (realNetlinkOps) Sendto(fd int, payload []byte, flags int, to syscall.Sockaddr) error {
52+
func (realSyscallOps) Sendto(fd int, payload []byte, flags int, to syscall.Sockaddr) error {
5353
return syscall.Sendto(fd, payload, flags, to)
5454
}
5555

56-
func (realNetlinkOps) Close(fd int) error {
56+
func (realSyscallOps) Close(fd int) error {
5757
return syscall.Close(fd)
5858
}
5959

60-
var netlink netlinkOps = realNetlinkOps{}
60+
var sys syscallOps = realSyscallOps{}
6161

6262
// AuditWriter implements [io.WriteCloser].
6363
type AuditWriter struct {
@@ -69,7 +69,7 @@ type AuditWriter struct {
6969
// that sends each written payload as an AUDIT_TRUSTED_APP.
7070
func OpenAuditWriter() (*AuditWriter, error) {
7171
// SOCK_CLOEXEC prevents the fd from leaking to child processes.
72-
fd, err := netlink.Socket(syscall.AF_NETLINK, syscall.SOCK_RAW|syscall.SOCK_CLOEXEC, syscall.NETLINK_AUDIT)
72+
fd, err := sys.Socket(syscall.AF_NETLINK, syscall.SOCK_RAW|syscall.SOCK_CLOEXEC, syscall.NETLINK_AUDIT)
7373
if err != nil {
7474
return nil, fmt.Errorf("cannot open audit socket: %v", err)
7575
}
@@ -86,15 +86,15 @@ func (aw *AuditWriter) Write(payload []byte) (int, error) {
8686
Pid: 0, // kernel
8787
}
8888
// TODO: request and handle ACK from kernel audit subsystem
89-
if err := netlink.Sendto(aw.fd, msg, 0, addr); err != nil {
89+
if err := sys.Sendto(aw.fd, msg, 0, addr); err != nil {
9090
return 0, fmt.Errorf("cannot send audit message: %v", err)
9191
}
9292
return len(payload), nil
9393
}
9494

9595
// Close closes the underlying netlink socket.
9696
func (aw *AuditWriter) Close() error {
97-
return netlink.Close(aw.fd)
97+
return sys.Close(aw.fd)
9898
}
9999

100100
// buildMessage constructs a raw netlink message containing the given payload.

seclog/audit_linux_test.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ type AuditSuite struct{}
3434

3535
var _ = Suite(&AuditSuite{})
3636

37-
// mockNetlinkOps records calls and returns configurable results.
38-
type mockNetlinkOps struct {
37+
// mockSyscallOps records calls and returns configurable results.
38+
type mockSyscallOps struct {
3939
socketFD int
4040
socketErr error
4141
sendtoData []byte
@@ -44,28 +44,28 @@ type mockNetlinkOps struct {
4444
closeErr error
4545
}
4646

47-
func (m *mockNetlinkOps) Socket(domain, typ, proto int) (int, error) {
47+
func (m *mockSyscallOps) Socket(domain, typ, proto int) (int, error) {
4848
return m.socketFD, m.socketErr
4949
}
5050

51-
func (m *mockNetlinkOps) Sendto(fd int, payload []byte, flags int, to syscall.Sockaddr) error {
51+
func (m *mockSyscallOps) Sendto(fd int, payload []byte, flags int, to syscall.Sockaddr) error {
5252
m.sendtoData = slices.Clone(payload)
5353
return m.sendtoErr
5454
}
5555

56-
func (m *mockNetlinkOps) Close(fd int) error {
56+
func (m *mockSyscallOps) Close(fd int) error {
5757
m.closedFDs = append(m.closedFDs, fd)
5858
return m.closeErr
5959
}
6060

61-
// Ensure mockNetlinkOps satisfies the interface.
62-
var _ seclog.NetlinkOps = (*mockNetlinkOps)(nil)
61+
// Ensure mockSyscallOps satisfies the interface.
62+
var _ seclog.SyscallOps = (*mockSyscallOps)(nil)
6363

6464
func (s *AuditSuite) TestOpenSuccess(c *C) {
65-
mock := &mockNetlinkOps{
65+
mock := &mockSyscallOps{
6666
socketFD: 42,
6767
}
68-
restore := seclog.MockNetlinkOps(mock)
68+
restore := seclog.MockSyscallOps(mock)
6969
defer restore()
7070

7171
writer, err := seclog.OpenAuditWriter()
@@ -74,21 +74,21 @@ func (s *AuditSuite) TestOpenSuccess(c *C) {
7474
}
7575

7676
func (s *AuditSuite) TestOpenSocketError(c *C) {
77-
mock := &mockNetlinkOps{
77+
mock := &mockSyscallOps{
7878
socketErr: fmt.Errorf("permission denied"),
7979
}
80-
restore := seclog.MockNetlinkOps(mock)
80+
restore := seclog.MockSyscallOps(mock)
8181
defer restore()
8282

8383
_, err := seclog.OpenAuditWriter()
8484
c.Assert(err, ErrorMatches, "cannot open audit socket: permission denied")
8585
}
8686

8787
func (s *AuditSuite) TestWriteSuccess(c *C) {
88-
mock := &mockNetlinkOps{
88+
mock := &mockSyscallOps{
8989
socketFD: 7,
9090
}
91-
restore := seclog.MockNetlinkOps(mock)
91+
restore := seclog.MockSyscallOps(mock)
9292
defer restore()
9393

9494
writer, err := seclog.OpenAuditWriter()
@@ -102,11 +102,11 @@ func (s *AuditSuite) TestWriteSuccess(c *C) {
102102
}
103103

104104
func (s *AuditSuite) TestWriteSendtoError(c *C) {
105-
mock := &mockNetlinkOps{
105+
mock := &mockSyscallOps{
106106
socketFD: 7,
107107
sendtoErr: fmt.Errorf("no buffer space"),
108108
}
109-
restore := seclog.MockNetlinkOps(mock)
109+
restore := seclog.MockSyscallOps(mock)
110110
defer restore()
111111

112112
writer, err := seclog.OpenAuditWriter()
@@ -117,10 +117,10 @@ func (s *AuditSuite) TestWriteSendtoError(c *C) {
117117
}
118118

119119
func (s *AuditSuite) TestClose(c *C) {
120-
mock := &mockNetlinkOps{
120+
mock := &mockSyscallOps{
121121
socketFD: 7,
122122
}
123-
restore := seclog.MockNetlinkOps(mock)
123+
restore := seclog.MockSyscallOps(mock)
124124
defer restore()
125125

126126
writer, err := seclog.OpenAuditWriter()

seclog/export_audit_linux_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"github.com/snapcore/snapd/testutil"
2424
)
2525

26-
type NetlinkOps = netlinkOps
26+
type SyscallOps = syscallOps
2727

2828
var NlmsgAlign = nlmsgAlign
2929

@@ -33,6 +33,6 @@ func AuditWriterBuildMessage(aw *AuditWriter, payload []byte) []byte {
3333
return aw.buildMessage(payload)
3434
}
3535

36-
func MockNetlinkOps(ops netlinkOps) (restore func()) {
37-
return testutil.Mock(&netlink, ops)
36+
func MockSyscallOps(ops syscallOps) (restore func()) {
37+
return testutil.Mock(&sys, ops)
3838
}

0 commit comments

Comments
 (0)