From f0c1cae003dd216ba706d7ef14df83d311c82034 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Sat, 16 Apr 2022 22:31:32 -0700 Subject: Try to detect process being forked during PAM transaction Update https://github.com/google/fscrypt/issues/350 --- pam/pam.go | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pam') diff --git a/pam/pam.go b/pam/pam.go index dab4a55..ea1c34e 100644 --- a/pam/pam.go +++ b/pam/pam.go @@ -127,6 +127,15 @@ func (h *Handle) GetItem(i Item) (unsafe.Pointer, error) { return data, nil } +// GetServiceName retrieves the name of the application running the PAM transaction. +func (h *Handle) GetServiceName() string { + data, err := h.GetItem(Service) + if err != nil { + return "[unknown service]" + } + return C.GoString((*C.char)(data)) +} + // StartAsPamUser sets the effective privileges to that of the PAM user. func (h *Handle) StartAsPamUser() error { userPrivs, err := security.UserPrivileges(h.PamUser) -- cgit v1.2.3