[PATCH] gnu: Add wireguard-module.

  • Done
  • quality assurance status badge
Details
3 participants
  • Brice Waegeneire
  • Leo Famulari
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Brice Waegeneire
Severity
normal
B
B
Brice Waegeneire wrote on 17 Apr 2020 17:58
(address . guix-patches@gnu.org)
20200417155855.6210-1-brice@waegenei.re
* gnu/packages/vpn.scm (wireguard-module): New variable.
---

This patch add wireguard as a loadable Linux kernel module which allow using
it Linux version < 5.6 without having to rebuild the entire kernel.

Following is a usage example:
Toggle snippet (12 lines)
(use-modules (gnu) (gnu services))
(use-package-modules vpn)
(use-service-modules linux)

(operating-system
...
(services (cons* (service kernel-module-loader-service-type
'("wireguard"))
%base-services))
(kernel-loadable-modules (list wireguard-module)))

gnu/packages/vpn.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..654c9d8db1 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -496,6 +498,26 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
(license license:gpl2)))
+(define-public wireguard-module
+ (package
+ (inherit wireguard-linux-compat)
+ (name "wireguard-module")
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t)))))
+ (synopsis "WireGuard loadable kernel module for Linux 3.10 through 5.5")
+ (description "This is a loadable Linux kernel module for WireGuard
+supporting kernel versions 3.10 through 5.5. WireGuard was added to Linux
+5.6. It ought to be used by adding it to the @code{kernel-loadable-modules}
+field and loaded in memeory by @command{modprobe} or
+@code{kernel-module-loader-service-type}.")))
+
(define-public wireguard-tools
(package
(name "wireguard-tools")
--
2.26.0
T
T
Tobias Geerinckx-Rice wrote on 17 Apr 2020 18:47
(address . 40683@debbugs.gnu.org)
871romys7e.fsf@nckx
Brice!

Brice Waegeneire ???
Toggle quote (5 lines)
> This patch add wireguard as a loadable Linux kernel module which
> allow using
> it Linux version < 5.6 without having to rebuild the entire
> kernel.

Thanks!

Toggle quote (5 lines)
> +(define-public wireguard-module
> + (package
> + (inherit wireguard-linux-compat)
> + (name "wireguard-module")

2x s/module/linux-module/

Toggle quote (17 lines)
> + (build-system linux-module-build-system)
> + (arguments
> + `(#:tests? #f ; No test suite
> + #:phases
> + (modify-phases %standard-phases
> + (add-before 'build 'change-directory
> + (lambda _
> + (chdir "./src")
> + #t)))))
> + (synopsis "WireGuard loadable kernel module for Linux 3.10
> through 5.5")
> + (description "This is a loadable Linux kernel module for
> WireGuard
> +supporting kernel versions 3.10 through 5.5. WireGuard was
> added to Linux
> +5.6.

I think we should say ‘Linux-Libre’ here (yes, even though it
loads on any *Linux) but I'm never entirely sure.

Toggle quote (5 lines)
> It ought to be used by adding it to the
> @code{kernel-loadable-modules}
> +field and loaded in memeory by @command{modprobe} or
> +@code{kernel-module-loader-service-type}.")))

This can go; it belongs in the manual and is already explained
there.

LGTM with these changes, but curious what others think about
‘Linux’,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXpndtQAKCRANsP+IT1Vt
ebxOAP9BF2lbKju6ChQrRVM1GDecgzKCRQh5K38wJecpDoSWDAEAzxhQ8GBPKCmH
XSm5wuAFwDXJktG+fV250H1JVjqirAI=
=qBc2
-----END PGP SIGNATURE-----

B
B
Brice Waegeneire wrote on 23 Apr 2020 14:34
[PATCH v2] gnu: Add wireguard-linux-module.
(address . 40683@debbugs.gnu.org)(address . me@tobias.gr)
20200423123457.23843-1-brice@waegenei.re
* gnu/packages/vpn.scm (wireguard-linux-module): New variable.
---

Rename wireguard-module to wireguard-linux-module and remove documentation from the
description.

gnu/packages/vpn.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..be600524f5 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -496,6 +498,24 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
(license license:gpl2)))
+(define-public wireguard-linux-module
+ (package
+ (inherit wireguard-linux-compat)
+ (name "wireguard-linux-module")
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; No test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t)))))
+ (synopsis "WireGuard loadable kernel module for Linux 3.10 through 5.5")
+ (description "This is a loadable Linux kernel module for WireGuard
+supporting kernel versions 3.10 through 5.5. WireGuard was added to Linux
+5.6.")))
+
(define-public wireguard-tools
(package
(name "wireguard-tools")
--
2.26.0
B
B
Brice Waegeneire wrote on 23 Apr 2020 14:44
Re: Re: [bug#40683] [PATCH] gnu: Add wireguard-module.
1cbec19178bb4184e32ebd497c22962a@waegenei.re
Tobias,

Toggle quote (16 lines)
>> + (synopsis "WireGuard loadable kernel module for Linux 3.10
>> through 5.5")
>> + (description "This is a loadable Linux kernel module for
>> WireGuard
>> +supporting kernel versions 3.10 through 5.5. WireGuard was
>> added to Linux
>> +5.6.
>
> I think we should say ‘Linux-Libre’ here (yes, even though it
> loads on any *Linux) but I'm never entirely sure.
>
> [...]
>
> LGTM with these changes, but curious what others think about
> ‘Linux’,

None of the similar packages like 'acpi-call-linux-module',
'rtl8812au-aircrack-ng-linux-module', 'ddcci-driver-linux' or 'zfs' use
“Linux-Libre” in their synopsis or description. So using “Linux” should
be
good or an other patch should modify all of them.

Cheers,
- Brice
L
L
Leo Famulari wrote on 23 Apr 2020 19:03
Re: [bug#40683] [PATCH v2] gnu: Add wireguard-linux-module.
(name . Brice Waegeneire)(address . brice@waegenei.re)
20200423170350.GA32197@jasmine.lan
On Thu, Apr 23, 2020 at 02:34:57PM +0200, Brice Waegeneire wrote:
Toggle quote (2 lines)
> * gnu/packages/vpn.scm (wireguard-linux-module): New variable.

Can this be part of the wireguard-linux-compat package? I think it's
confusing to have two packages providing WireGuard for old kernels.
B
B
Brice Waegeneire wrote on 24 Apr 2020 21:51
[PATCH v3] gnu: Add loadable module to wireguard-linux-compat.
(address . 40683@debbugs.gnu.org)
20200424195155.23535-1-brice@waegenei.re
* gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
'gnu-build-system' by 'linux-module-build-system'.
[arguments]: Adjust the build system. Add phase 'change-directory'.
Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
[description]: Mention the loadable module.
---

This version of the patch merge the now defunct 'wireguard-linux-module' into
'wireguard-linux-compat' -- hoping that it's less confusing for users.

gnu/packages/vpn.scm | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)

Toggle diff (70 lines)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..6bcce8fe52 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -465,19 +467,22 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(sha256
(base32
"0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
- (build-system gnu-build-system)
+ (build-system linux-module-build-system)
(arguments
`(#:tests? #f ; No test suite
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build linux-module-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No ./configure script
- (replace 'build
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t))
+ (add-after 'build 'build-patch
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
+ (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
@@ -485,15 +490,16 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(lambda (port)
(format port "~a" str))))
#t))
- (replace 'install
+ (add-after 'install 'install-patch
(lambda* (#:key outputs #:allow-other-keys)
(install-file "wireguard.patch"
(assoc-ref %outputs "out"))
#t)))))
(home-page "https://git.zx2c4.com/wireguard-linux-compat/")
(synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
- (description "This is an out-of-tree Linux kernel patch adding WireGuard to
-kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
+ (description "This package contains an out-of-tree kernel patch and
+a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5.
+WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
--
2.26.0
B
B
Brice Waegeneire wrote on 26 Apr 2020 22:51
[PATCH v4] gnu: Add loadable module to wireguard-linux-compat.
(address . 40683@debbugs.gnu.org)(address . leo@famulari.name)
20200426205102.5782-1-brice@waegenei.re
* gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
'gnu-build-system' by 'linux-module-build-system'.
[outputs]: Add 'kernel-patch'.
[arguments]: Adjust the build system. Add phase 'change-directory'.
Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
[description]: Mention the loadable module.
---

Put patch in 'kernel-patch' output.

gnu/packages/vpn.scm | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..8c69b4be51 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -465,19 +467,24 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(sha256
(base32
"0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
- (build-system gnu-build-system)
+ (build-system linux-module-build-system)
+ (outputs '("out"
+ "kernel-patch"))
(arguments
`(#:tests? #f ; No test suite
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build linux-module-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No ./configure script
- (replace 'build
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t))
+ (add-after 'build 'build-patch
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
+ (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
@@ -485,15 +492,16 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(lambda (port)
(format port "~a" str))))
#t))
- (replace 'install
+ (add-after 'install 'install-patch
(lambda* (#:key outputs #:allow-other-keys)
(install-file "wireguard.patch"
- (assoc-ref %outputs "out"))
+ (assoc-ref %outputs "kernel-patch"))
#t)))))
(home-page "https://git.zx2c4.com/wireguard-linux-compat/")
(synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
- (description "This is an out-of-tree Linux kernel patch adding WireGuard to
-kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
+ (description "This package contains an out-of-tree kernel patch and
+a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5.
+WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
--
2.26.0
L
L
Leo Famulari wrote on 26 Apr 2020 23:16
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 40683@debbugs.gnu.org)
20200426211636.GA23689@jasmine.lan
On Sun, Apr 26, 2020 at 10:51:02PM +0200, Brice Waegeneire wrote:
Toggle quote (7 lines)
> * gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
> 'gnu-build-system' by 'linux-module-build-system'.
> [outputs]: Add 'kernel-patch'.
> [arguments]: Adjust the build system. Add phase 'change-directory'.
> Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
> [description]: Mention the loadable module.

Thanks! I've attached a v5 that ensures the license files still get
installed. Does it work for you?
From 2e28a69dc384880cf858e4c402588ccd0bfd84fa Mon Sep 17 00:00:00 2001
From: Brice Waegeneire <brice@waegenei.re>
Date: Sun, 26 Apr 2020 22:51:02 +0200
Subject: [PATCH] gnu: Add loadable module to wireguard-linux-compat.

* gnu/packages/vpn.scm (wireguard-linux-compat)[build-system]: Replace
'gnu-build-system' by 'linux-module-build-system'.
[outputs]: Add 'kernel-patch'.
[arguments]: Adjust the build system. Add phase 'change-directory'.
Rename phases 'build' to 'build-patch' and 'install' to 'install-patch'.
[description]: Mention the loadable module.

Signed-off-by: Leo Famulari <leo@famulari.name>
---
gnu/packages/vpn.scm | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)

Toggle diff (78 lines)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 739522959c..a9e20049c6 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system linux-module)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@@ -465,19 +467,24 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(sha256
(base32
"0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx"))))
- (build-system gnu-build-system)
+ (build-system linux-module-build-system)
+ (outputs '("out"
+ "kernel-patch"))
(arguments
`(#:tests? #f ; No test suite
- #:modules ((guix build gnu-build-system)
+ #:modules ((guix build linux-module-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 textual-ports))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No ./configure script
- (replace 'build
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "./src")
+ #t))
+ (add-after 'build 'build-patch
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((patch-builder "./kernel-tree-scripts/create-patch.sh")
+ (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh")
(port (open-input-pipe patch-builder))
(str (get-string-all port)))
(close-pipe port)
@@ -485,15 +492,21 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
(lambda (port)
(format port "~a" str))))
#t))
- (replace 'install
+ (add-after 'install 'install-patch
(lambda* (#:key outputs #:allow-other-keys)
(install-file "wireguard.patch"
- (assoc-ref %outputs "out"))
+ (assoc-ref %outputs "kernel-patch"))
+ #t))
+ ;; So that 'install-license-files' works...
+ (add-before 'install-license-files 'reset-cwd
+ (lambda _
+ (chdir "..")
#t)))))
(home-page "https://git.zx2c4.com/wireguard-linux-compat/")
(synopsis "WireGuard kernel module for Linux 3.10 through 5.5")
- (description "This is an out-of-tree Linux kernel patch adding WireGuard to
-kernel versions 3.10 through 5.5. WireGuard was added to Linux 5.6.")
+ (description "This package contains an out-of-tree kernel patch and
+a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5.
+WireGuard was added to Linux 5.6.")
(license license:gpl2)))
(define-public wireguard-tools
--
2.26.2
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl6l+jEACgkQJkb6MLrK
fwg4lA/8CnN2S3RXNipGkgvF8UbKR5oHQM1jEdjac+CBra9Q19b6Pr2L6DcEw26g
z728KWT0lKJvmmQVEYFIVRjdXCs9R/ClFOAJrEvTzYmaJpZIkndZPZAtrLhDKUUX
q8soxOFCxFFecezaKV11zPZJtCWsPSkAKvjYjG/yldiXHDMVBGd3UGwLUkO21VT9
kP8RX/g0nFsS1Dt8YA/X7dTfwmfEamby8WmGvk1M237oqW27AH8U6ce/nYZZ3TeL
tKufsO0O02DyC6dFEGmhKQUhVE7pe7xh7KUOg6rbWgryRoGlfXV5tGwT3Exxs5dB
ohwhsenNqTypvsHaFzfuNc7RGl2Uo6tLAsXZ9GdZdMGJEQ2CoqrQ3jEkJ9v/AwWR
3vNWTlp5DL9FZUJq/pucAwAJ4hV/PYaL71KsZFhnhUobLSmk3+ylVctjtWJJuGd3
VeUMCVZ4ByrTAOHwQFPVL44yuvfdl2AUZgRYQyIFVS53P+0ojSaMbV69c7fHqc5V
aWRs4LR/5lekSyRmHgif3b6WT1cugmHz72IXfmYMscNKQL76+eBiCPrvFaO0gYQQ
g/P7qnHSZSpVEMbyfAaoc6vB8fyXp7oJ6iTGKCyA1UAgY1L2SHHhwPOGsnzksJQZ
vQp7LQW+wz1Slr/Owa0qVwTynEej9MTVJ+HcsL+AJNfTeFC/bQI=
=rp5I
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 27 Apr 2020 00:25
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 40683-done@debbugs.gnu.org)
20200426222548.GA21450@jasmine.lan
On Sun, Apr 26, 2020 at 05:16:36PM -0400, Leo Famulari wrote:
Toggle quote (3 lines)
> Thanks! I've attached a v5 that ensures the license files still get
> installed. Does it work for you?

I pushed this as 3b177a6c33baa0d78ebd5407119511807d59a590 based on
feedback on #guix
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAl6mCmsACgkQJkb6MLrK
fwgDthAAmxRxE60BHIRtDxTJ0idonKo2x4EbLwbnN7KnsJZrYcIU0FVJ3ntY4mSj
uvwzgAt9Gn3gBir6TDYeASRS2fc20/cy18hjSS//seiqyla7cewyDF8tP6dKIRci
ghvH+xmlOTDkK1ABiwGWF4IMwCfVs5Pgg3lITjYfkpVr8IFCaqu3Cz5fWUrk/169
WcoPhf9w60X+yL+H4MpWy8P6pEofcOkh72xF6vM+bfx396rj/TnI/CHM9VSKYUqj
zkcbHdxL7uxOjx9u2Eg0pObuWcgeSCtbYJGzBT0uFaIVn0tAD2z2tXWJByDNNqp1
RSDMEJAuxbDnOw2mJSj17SkbSN9aPOriFvIQqar5JsUp8uQ2l3cTaB/8ByZRHtor
840NFkfsl7/BQtAS8fOrQQM10ILun9sUlGT5XEWma3c0Pw09YOvRccaaG+zqGtTt
zAgHRf84u/YzwTXHKE0QIWMmb1kC7w7ECkiGyhJTMKa8gJrwF+tHjazQbCfd2qSh
gn///ZxLC9d/Xk7CM1WblaUfUjk5Q/qac8tOmB5sADn7+KNlVshkpUu7rZRH2Jcq
4BIWIXa5kKxYwl1cdcJy9NCLXYXZG3CcYsveXwHiY5WMlgeCAyGWv/t2syPBnZ4h
a3vhWlOcItKZVWDh28o5z6qO946NjPYinaFkOy+TkEodQ8zrdAo=
=ZK4M
-----END PGP SIGNATURE-----


Closed
?