diff options
author | Felix Palmen <zirias@FreeBSD.org> | 2022-08-12 13:07:58 +0000 |
---|---|---|
committer | Felix Palmen <zirias@FreeBSD.org> | 2022-08-12 13:07:58 +0000 |
commit | 22e6df529b6b46ef831b0834a390ba4080856f61 (patch) | |
tree | 51b91c61a6c774c5387cb128b976c1427377a031 | |
parent | 5454a6062bb001c41954bb407b3203ca34e41003 (diff) |
security/unix-selfauth-helper: Update to 1.0.1
Add warning about base bug: pam_exec.so contained a bug that would
prevent the helper to work correctly in most cases. For 13.x-RELEASE,
add a script checking the patch level and displaying a warning on
installation.
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36115
-rw-r--r-- | security/unix-selfauth-helper/Makefile | 2 | ||||
-rw-r--r-- | security/unix-selfauth-helper/distinfo | 6 | ||||
-rw-r--r-- | security/unix-selfauth-helper/pkg-post-install.lua | 53 |
3 files changed, 57 insertions, 4 deletions
diff --git a/security/unix-selfauth-helper/Makefile b/security/unix-selfauth-helper/Makefile index cb12102b94d7..acab471f6b9b 100644 --- a/security/unix-selfauth-helper/Makefile +++ b/security/unix-selfauth-helper/Makefile @@ -1,5 +1,5 @@ PORTNAME= unix-selfauth-helper -PORTVERSION= 1.0 +DISTVERSION= 1.0.1 DISTVERSIONPREFIX= v CATEGORIES= security diff --git a/security/unix-selfauth-helper/distinfo b/security/unix-selfauth-helper/distinfo index b544eeb0fea9..b87f0b8f8154 100644 --- a/security/unix-selfauth-helper/distinfo +++ b/security/unix-selfauth-helper/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1655634372 -SHA256 (Zirias-unix-selfauth-helper-v1.0_GH0.tar.gz) = 5a1aff046fb9e76555d7289afbe9c54d73269b5903a2f77f40b456840149a6ef -SIZE (Zirias-unix-selfauth-helper-v1.0_GH0.tar.gz) = 3924 +TIMESTAMP = 1659607930 +SHA256 (Zirias-unix-selfauth-helper-v1.0.1_GH0.tar.gz) = 24d72c04cc6f42b198378926af0e3d3c0efd7d39e68616482c8b218d4732d261 +SIZE (Zirias-unix-selfauth-helper-v1.0.1_GH0.tar.gz) = 3927 diff --git a/security/unix-selfauth-helper/pkg-post-install.lua b/security/unix-selfauth-helper/pkg-post-install.lua new file mode 100644 index 000000000000..24b211cc0246 --- /dev/null +++ b/security/unix-selfauth-helper/pkg-post-install.lua @@ -0,0 +1,53 @@ +function getfbsduvers () + local osrel = io.open("/etc/os-release") + if (not osrel) then return nil end + local reldat = {} + for line in osrel:lines() do + local k, v = string.match(line, + '%s*(.+)%s*=%s*"?%s*([^"]+)%s*"?') + if (k and v) then reldat[k] = v end + end + osrel:close() + if (not reldat["ID"] or reldat["ID"] ~= "freebsd") then return nil end + return reldat["VERSION"] +end + +function printwarning (uvers, required) + local msg=[=[ +====== +Message from $pkg: + +!!! ATTENTION !!! + +You are currently running FreeBSD $vcurr. + +Correct operation of $pkg requires a bugfix that was delivered +in $vreq. + +This package is probably installed as a dependency of some screen locker, +and without the bugfix, YOU WILL PROBABLY BE UNABLE TO UNLOCK YOUR SCREEN. + +Please use freebsd-update(8) to update your system before you continue. + +See also: +<URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-22:19.pam_exec.asc> +]=] + local warning = string.gsub(msg, '$(%w+)', + {pkg = pkg_name, vcurr = uvers, vreq = required}) + pkg.print_msg(warning) +end + +fbsduvers = getfbsduvers() +if (fbsduvers and string.match(fbsduvers, '-RELEASE')) then + umaj = tonumber(string.match(fbsduvers, '^[0-9]+')) + umin = tonumber(string.match(fbsduvers, '%.([0-9]+)-')) + uplv = tonumber(string.match(fbsduvers, '-p([0-9]+)')) + if (not uplv) then uplv = 0 end + if (umaj == 13 and umin <= 1) then + if (umin == 0 and uplv < 12) then + printwarning(fbsduvers, "13.0-RELEASE-p12") + elseif (umin == 1 and uplv < 1) then + printwarning(fbsduvers, "13.1-RELEASE-p1") + end + end +end |