aboutsummaryrefslogtreecommitdiff
path: root/pam/pam.go
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2021-12-21 20:38:03 -0600
committerEric Biggers <ebiggers@google.com>2021-12-21 21:55:01 -0600
commitb7399903540c95e89f0ee427fed1de07301fbd93 (patch)
tree2aa1240435ff91f25b0f05923e80cb8b299ef337 /pam/pam.go
parentce477ef12ac46c4df0152d43dae5d6e58772b120 (diff)
pam_fscrypt: warn user if OLDAUTHTOK not given in chauthtok
If someone runs 'passwd USER' as root, the user is assigned a new login passphrase without their fscrypt login protector being updated. Detect this case and show a warning message using pam_info(). Fixes https://github.com/google/fscrypt/issues/273
Diffstat (limited to 'pam/pam.go')
-rw-r--r--pam/pam.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/pam/pam.go b/pam/pam.go
index 54a60e2..f79e2d4 100644
--- a/pam/pam.go
+++ b/pam/pam.go
@@ -166,6 +166,13 @@ func (h *Handle) err() error {
return errors.New(s)
}
+// InfoMessage sends a message to the application using pam_info().
+func (h *Handle) InfoMessage(message string) {
+ cMessage := C.CString(message)
+ defer C.free(unsafe.Pointer(cMessage))
+ C.infoMessage(h.handle, cMessage)
+}
+
// Transaction represents a wrapped pam_handle_t type created with pam_start
// form an application.
type Transaction Handle