Marco Trevisan (Treviño) c635cfc38a transaction: Add End() method and Remove Transaction finalizer
A PAM transaction needs to be ended in order to release the associated
resources, however this can't be sadly automated as the go finalizers
run in goroutines and this could cause problems to modules that we load.

In fact a module code may be called back during pam_end (to cleanup data
for example) and the module code could not be thread safe.

So let's make this more manual, but safer.
The transaction status is still preserved in the transaction so end will
be automatically called with the last-known status.

Closes: #14
2023-11-30 01:16:39 +01:00
2023-11-30 01:16:38 +01:00
2021-12-03 12:05:27 -06:00
2023-04-04 15:44:38 -05:00
2023-04-04 15:44:38 -05:00
2015-04-01 21:53:50 -05:00
2021-12-03 12:05:27 -06:00

GoDoc Go Report Card

Go PAM

This is a Go wrapper for the PAM application API.

Testing

To run the full suite, the tests must be run as the root user. To setup your system for testing, create a user named "test" with the password "secret". For example:

$ sudo useradd test \
    -d /tmp/test \
    -p '$1$Qd8H95T5$RYSZQeoFbEB.gS19zS99A0' \
    -s /bin/false

Then execute the tests:

$ sudo GOPATH=$GOPATH $(which go) test -v
Description
No description provided
Readme 208 KiB
Languages
Go 98.6%
C 1.4%