aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Palmen <zirias@FreeBSD.org>2022-08-12 13:07:58 +0000
committerFelix Palmen <zirias@FreeBSD.org>2022-08-12 13:07:58 +0000
commit22e6df529b6b46ef831b0834a390ba4080856f61 (patch)
tree51b91c61a6c774c5387cb128b976c1427377a031
parent5454a6062bb001c41954bb407b3203ca34e41003 (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/Makefile2
-rw-r--r--security/unix-selfauth-helper/distinfo6
-rw-r--r--security/unix-selfauth-helper/pkg-post-install.lua53
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