Subject: [PATCH] gnu: keepalived: Update to 2.3.1. [security fixes]
From: Nicolas Graves <[email-masked]>
To: [email-masked]
Cc: Nicolas Graves <[email-masked]>
Date: Fri, 25 Oct 2024 09:39:01 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

This fixes CVE-2021-44225.

* gnu/packages/cluster.scm (keepalived): Update to 2.3.1.
[arguments]: Improve style.
[properties]: Add release-monitoring-url property.
---
 gnu/packages/cluster.scm | 49 ++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm
index 659b8282ab..e7fb5d2fc2 100644
--- a/gnu/packages/cluster.scm
+++ b/gnu/packages/cluster.scm
@@ -157,42 +157,42 @@ (define-public drbd-utils
 (define-public keepalived
   (package
     (name "keepalived")
-    (version "2.0.19")
+    (version "2.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://www.keepalived.org/software/keepalived-"
+                    "https://www.keepalived.org/software/keepalived-"
                     version ".tar.gz"))
               (sha256
                (base32
-                "19scrrjsxw5g914d5ka352445blaq77dk2vm4vxabijvfra88bqf"))))
+                "18raqq15xxf5hlrqhk39prq9xdfiv9px2nlrs43273lrzndvdx4j"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'build 'build-info
-           (lambda _
-             (invoke "make" "-C" "doc" "texinfo")
-             ;; Put images in a subdirectory as recommended by 'texinfo'.
-             (install-file "doc/source/images/software_design.png"
-                           "doc/build/texinfo/keepalived-figures")
-             (substitute* "doc/build/texinfo/keepalived.texi"
-               (("@image\\{software_design,")
-                "@image{keepalived-figures/software_design,"))
-             (invoke "make" "-C" "doc/build/texinfo")))
-         (add-after 'install 'install-info
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (infodir (string-append out "/share/info")))
-               (install-file "doc/build/texinfo/keepalived.info" infodir)
-               (install-file "doc/source/images/software_design.png"
-                             (string-append infodir "/keepalived-figures"))
-               #t))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'build 'build-info
+            (lambda _
+              (invoke "make" "-C" "doc" "texinfo")
+              ;; Put images in a subdirectory as recommended by 'texinfo'.
+              (install-file "doc/source/images/software_design.png"
+                            "doc/build/texinfo/keepalived-figures")
+              (substitute* "doc/build/texinfo/keepalived.texi"
+                (("@image\\{software_design,")
+                 "@image{keepalived-figures/software_design,"))
+              (invoke "make" "-C" "doc/build/texinfo")))
+          (add-after 'install 'install-info
+            (lambda _
+              (let ((infodir (string-append #$output "/share/info")))
+                (install-file "doc/build/texinfo/keepalived.info" infodir)
+                (install-file "doc/source/images/software_design.png"
+                              (string-append
+                               infodir "/keepalived-figures"))))))))
     (native-inputs
      (list pkg-config python-sphinx texinfo))
     (inputs
      (list openssl libnfnetlink libnl))
-    (home-page "https://www.keepalived.org/")
+    (home-page "https://www.keepalived.org")
     (synopsis "Load balancing and high-availability frameworks")
     (description
      "Keepalived provides frameworks for both load balancing and high
@@ -200,6 +200,7 @@ (define-public keepalived
 Server (@dfn{IPVS}) kernel module.  High availability is achieved by the Virtual
 Redundancy Routing Protocol (@dfn{VRRP}).  Each Keepalived framework can be used
 independently or together to provide resilient infrastructures.")
+    (properties `((release-monitoring-url . ,home-page)))
     (license license:gpl2+)))
 
 (define-public libraft
-- 
2.46.0