GNU bug report logs - #49255
[PATCH 2/4] gnu: Add wondershaper service.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Aljosha Papsch <ep@HIDDEN>; Keywords: patch; merged with #49254, #49256, #49257, #49258; dated Mon, 28 Jun 2021 15:25:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.
Merged 49254 49255 49256 49257 49258. Request was from Leo Prikler <leo.prikler@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 28 Jun 2021 15:24:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 28 11:24:18 2021
Received: from localhost ([127.0.0.1]:52263 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lxt7S-0001lo-1F
	for submit <at> debbugs.gnu.org; Mon, 28 Jun 2021 11:24:18 -0400
Received: from lists.gnu.org ([209.51.188.17]:45074)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ep@HIDDEN>) id 1lxt7O-0001le-Hw
 for submit <at> debbugs.gnu.org; Mon, 28 Jun 2021 11:24:15 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:41176)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ep@HIDDEN>) id 1lxt7N-0004fC-Vw
 for guix-patches@HIDDEN; Mon, 28 Jun 2021 11:24:14 -0400
Received: from mail-fr2deu01on2139.outbound.protection.outlook.com
 ([40.107.135.139]:33476 helo=DEU01-FR2-obe.outbound.protection.outlook.com)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ep@HIDDEN>) id 1lxt7L-0006J0-E2
 for guix-patches@HIDDEN; Mon, 28 Jun 2021 11:24:13 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L+znygubRFhsHpVMHr2NrVYMmmEXLG1wfjX2smwHkxQn5Zl1+N/lA5JfOWfHNpEMT8H1c5Q36NUsfIbCrCoR3NvKnwU/s5oeUY2A23iPL/L7cFw8ljr4knHg/h520Opsfs1KzjACU+BvDYD/zO1ZOVhVAzxenp+QmYtt1es+8N8prHAc2MrTo8zb+mQxYzRc09Lf48huxDGZNhUlQZulxpCPMgfM83XM0fUXpxE1oK2ZQ7D/aOeyT35KBd6D8kQOh6oUUQ98prfnCFTJVNi75Z8wmdp6FgU4yOXRJDImdqqna8mHR50n5/Rsw2HWOckW4GG8YONdB8LsbdEloqOqxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mbxgRyGG5tAFet5ohonPgDlV5l2PqrdmLdenvWm6wnA=;
 b=QpmihW6qhmW5/bWfS3G6LobFv8xJbFBCBdAk1HASwJe+8WkvDzDa3fpkfJfdM154xCn95FN7wwW3oQKxy9ppyCesPbRU22jpKqwOzIl8Yjf4JZJ2iEtLOV51uNsakQftfcKEqsHRiGXfv0Nj4uwJlOrWvkxm8i3VWl+gt86i0IBHAlYeYMFTJZAez5cQEckktKiGyA3Ycg4/3XmCyNYTdZvRKpF+3LRRQ4dAZTDX+Yddg/+kxbbsLrLKApzz8u0IMN/lExrr+xw2Qnz3uS0nJ9Kjnzko8xgonPKjovM239lmT0/xcTPczjUSX1bzPo+vZicxoRy2w53ZxbSpywa5ZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stern-data.com; dmarc=pass action=none
 header.from=stern-data.com; dkim=pass header.d=stern-data.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sternasset.onmicrosoft.com; s=selector1-sternasset-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mbxgRyGG5tAFet5ohonPgDlV5l2PqrdmLdenvWm6wnA=;
 b=Z1BFHmsmYMdz6XuaaviTclU6sSN36OBR5Yk3dSPhIxe7NuNAG4ikLSmnDXgJ0XNqm1X4qhLxYnsBbA3zv9qAZXo8Bi8sStWkYeqayKd6gODd0bMcQBcZAqYZMyMX4XBX44zNSgsC79cpgtcgYGEYBX0Pdf2E9CidXhzUORggUqhGoGRaKIC0YkbxFQU7TAkWpxddXfjATMItUgw7J5KK7DYpU957VTRAzFNbuvTVamnsxLKcY2uFvyGWaZPUwy2UwSAzRuseJDNvimCHSuOuk45yawJRGuW56XZMuokm9ZrGL+gZR97tU8q70Sr1fiJ0TT1FNifo4NA59REKgR6kTg==
Authentication-Results: gnu.org; dkim=none (message not signed)
 header.d=none;gnu.org; dmarc=none action=none header.from=stern-data.com;
Received: from BE0P281MB0034.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:f::11) by
 BE0P281MB0211.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:11::12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4287.17; Mon, 28 Jun 2021 15:24:09 +0000
Received: from BE0P281MB0034.DEUP281.PROD.OUTLOOK.COM
 ([fe80::b9ef:9f1:8c7c:cb72]) by BE0P281MB0034.DEUP281.PROD.OUTLOOK.COM
 ([fe80::b9ef:9f1:8c7c:cb72%7]) with mapi id 15.20.4287.021; Mon, 28 Jun 2021
 15:24:09 +0000
From: Aljosha Papsch <ep@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH 2/4] gnu: Add wondershaper service.
Date: Mon, 28 Jun 2021 17:22:30 +0200
Message-Id: <20210628152232.31073-3-ep@HIDDEN>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <20210628152232.31073-1-ep@HIDDEN>
References: <20210628152232.31073-1-ep@HIDDEN>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: PR3P189CA0076.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:102:b4::21) To BE0P281MB0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:f::11)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from localhost.localdomain (2a02:908:c39:9d60:ec9b:bd9a:f3b7:625d)
 by PR3P189CA0076.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend
 Transport; Mon, 28 Jun 2021 15:24:09 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ff305126-d42b-4e41-dbdd-08d93a48c6be
X-MS-TrafficTypeDiagnostic: BE0P281MB0211:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <BE0P281MB021132BAB02E1D0BBF09C263E3039@HIDDEN>
X-MS-Oob-TLC-OOBClassifiers: OLM:4125;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: xBFvwaIBlxDPRD6FbtgfBS+dog2DMFvvShJZCswKjhndZQHLEolME/a/EgW8vSyG5iEOS1Izwe6/N1bxZ4rTGrRPOFaWMbT0pMCpUQJz/gyVF3v//JK++31flwAqbNxMLHF4d11/WB482s97RGJWfz+lRQ5S7IYkzwZLOMY8Z5c+MCMn7ZuCITB3PJ1KFEvJDUCFJsv6pAYXhtKeigpsrGsCHtDeEOzY8OCcrZPXmJE1r6FxMACasz3wusk8o+GSCyxACgi9K200+4RMmiwOqFqHMW7Cj9pw6yOtJn036KHhnDZW1ZN1FAVisb5LVg+pZYhc2xkqhXGvs6GMFlgC/5oSa8N+7hEa/mgoXywTxWgkRTjHODn3yiQI3aHsNQM5NOl/GITaKlkyhZ4lj/RjpfJhpWy4ELOnlJ8SXqRpBgaMdZqMMt/RUHBYGD/n39/gCqKPNbEUEAzVAfb3tBMHjOPCEeM8bMfEl+bijvM3oakH+xIgc7QVvOTERKYCcB4BPKSFlz57/q51FP54sAWzW4eKoi4XxCBuO7QUd49kInKhMfjZwvv2qBXdRyb1ymv5jPymi+FW1f7zgW2MIj/XjZ+oRLeI6Bx2E5bu6TA7Cy1+O8zqAfGxHtNQod554lLwZ+fGWtk6mSjflnou9UMnRMV1B3VbMeUph8n9RhBkkgTRyP0GRwWtpFf3OORSTbRDPOKQsILwSQ0BVViSFpWA8aBsSl8sTQ2mk7shoe216qNgoNycU7Y09pwQ8o5+m5ddBVVTUasVprkGN20cS6LrxQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:BE0P281MB0034.DEUP281.PROD.OUTLOOK.COM; PTR:; CAT:NONE;
 SFS:(4636009)(396003)(346002)(366004)(376002)(136003)(39830400003)(52116002)(107886003)(83380400001)(8676002)(6666004)(186003)(478600001)(2906002)(86362001)(8936002)(6512007)(6506007)(6916009)(36756003)(4326008)(2616005)(316002)(38100700002)(5660300002)(6486002)(1076003)(66946007)(66556008)(66476007);
 DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2YKryd35edvsJiKMcCWVNQqk38rDklxy2WopxIf9kldZwEOQ+bphuj7sYpuQ?=
 =?us-ascii?Q?2QqPrnPDovLVgI1+nTEyqq9ErsCxC3UiYBHy29De6EYy8/8X8vf+dYCWvsFt?=
 =?us-ascii?Q?XiLCJTGu4VPmfpw/Ov6/UEov1vQz5PcXV66V43U5uTOFw1dC0fEom0m5/F3U?=
 =?us-ascii?Q?QvV3ou3p22mBVDj2FMYQMPDNvqg62TJqUB/pLTIYCf0D64PoLLNXGmPIsEH5?=
 =?us-ascii?Q?i+KFaIlZ7ZQ1B2zAwX4+MGC+uYT32w+J//FV+exG66tnAGqyDPzsUE+9T20Y?=
 =?us-ascii?Q?LXLpvvQhPZbwZDhKXZttfidXu7ZrjFRsyVXprZS1VJxwftBQb2FcLAb1pi/P?=
 =?us-ascii?Q?ZdyjhLc6NRlsBxxtOusdtQHOawHZY1cb/zlaOF7uD3fPaeHuF23ETwDnzoe0?=
 =?us-ascii?Q?65ynte3ZIjgqbRBH9GyNfIqAdEcDkafjd5CPyc1hciIroFIB6E0L8V4Fs0TV?=
 =?us-ascii?Q?yeTlIGkwdkPH7N63XWCiBjbVbgLR95pIiTBnSJThG2wQ/T2FjvMKVqxDdWR7?=
 =?us-ascii?Q?cd4EMWH6Q1PYR8qhjvQy0UicLDZkkfKhT6U2UQISOxJ2yFQKs/FzPEGDOIJC?=
 =?us-ascii?Q?Ez2zm2twTVxJVWmMYMq2SSjAgyxlTzVV7HQbvxDgmH5b9JgKaBtDwj4ExRBu?=
 =?us-ascii?Q?ntsvOEGOs45PdMU2GBNyoKTqeok1HxGRRloBqjF0ffdFkbFjFMvZCGoOxpSx?=
 =?us-ascii?Q?OtgbVpPDAnDfy031c44Qe6xhwDvYoADANH9c6VKZCqRj1yz8VYs/D8NhsLf9?=
 =?us-ascii?Q?RwDND4I/d4xd9AGdWzaZP21gjppe9O68fuhoJJoOGFotQOu/3gnmuYTsmIKF?=
 =?us-ascii?Q?FAVHMH4YyiOIOFXOS0gdF1yp+z9O7VIh0fmnbun1FbZoXpLX8UiSbvYdfQEz?=
 =?us-ascii?Q?2/7YcHK//6d8G59CH5Vbt6Ye6vbdpjlmdFip/flsRamrlp2rjSMCKDaX8kcz?=
 =?us-ascii?Q?EbmVuf9MLZSDl0Q4+6T/cvtHXos2x0EEbYJJCFvpiz1BFxKXv39LjIclL44y?=
 =?us-ascii?Q?oiNvpjlPEqEpyPr4OgrH7N9iGP9+cRjwK3sqTaRw9jkF7pa5ujgg/8+PBGfY?=
 =?us-ascii?Q?W4GeQbsIW4fHm54OOe8FLH1hqESgeynDTOYDTp3aiNjnGZetX9ZFIQdr2a2Y?=
 =?us-ascii?Q?IT+st56GxxMNM93+88SaH8OiitMb8S9+BreX5rQfE3V4WOfLSGmyaH6yF488?=
 =?us-ascii?Q?d6OzxSwrvhEGOjglR19pLu19W5wMfmL2S9PlCp/D5N+78xh5uC2/9qQQT7ZZ?=
 =?us-ascii?Q?XcZlNJyLGJ2kukmaPoRbwgwujtiX0cF9OcH4tCGM029m/Zpe0BI2F+vLWZb/?=
 =?us-ascii?Q?JsmaBrfH9qp8EG5RHEx0MKz5hbLoSBIwi5unVw81WguT2r7fsEG/5rFyKMFC?=
 =?us-ascii?Q?NAhE/MoxRfr4CKkqZWJIo6ZxwkZu?=
X-OriginatorOrg: stern-data.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ff305126-d42b-4e41-dbdd-08d93a48c6be
X-MS-Exchange-CrossTenant-AuthSource: BE0P281MB0034.DEUP281.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2021 15:24:09.7154 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: e55b1d7b-b6d7-445f-a720-8de54d4464ac
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EDebUwS4YCAFMYz5FuXvnqor4jvHBSZnOmPENW1UO0Utn1zOw2yv84fIDW8RdcS9y9MEjbBJQo1Rb7gtO93+/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE0P281MB0211
Received-SPF: pass client-ip=40.107.135.139; envelope-from=ep@HIDDEN;
 helo=DEU01-FR2-obe.outbound.protection.outlook.com
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001,
 RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: submit
Cc: Aljosha Papsch <ep@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)

* gnu/services/networking.scm (wondershaper-configuration): New symbol.
  Configuration for wondershaper-service-type.
* gnu/services/networking.scm (wondershaper-configuration?): New symbol.
  Predicate for wondershaper-configuration.
* gnu/services/networking.scm (wondershaper-service-type): New symbol.
  One-shot service running wondershaper with a generated config file.
---
 gnu/services/networking.scm | 107 +++++++++++++++++++++++++++++++++++-
 1 file changed, 106 insertions(+), 1 deletion(-)

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 87b3d754a3..a17f41aa30 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -221,7 +221,11 @@
 
             keepalived-configuration
             keepalived-configuration?
-            keepalived-service-type))
+            keepalived-service-type
+
+            wondershaper-configuration
+            wondershaper-configuration?
+            wondershaper-service-type))
 
 ;;; Commentary:
 ;;;
@@ -2190,4 +2194,105 @@ of the IPFS peer-to-peer storage network.")))
                  "Run @uref{https://www.keepalived.org/, Keepalived}
 routing software.")))
 
+
+;;;
+;;; Wondershaper
+;;;
+
+(define %wondershaper-default-download-speed 2048)
+
+(define-record-type* <wondershaper-configuration>
+  wondershaper-configuration make-wondershaper-configuration
+  wondershaper-configuration?
+  (wondershaper      wondershaper-configuration-wondershaper ;<package>
+                     (default wondershaper))
+  (interface         wondershaper-configuration-interface         ;string
+                     (default "eth0"))
+  (download-speed    wondershaper-configuration-download-speed    ;number (kbps)
+                     (default %wondershaper-default-download-speed))
+  (upload-speed      wondershaper-configuration-upload-speed      ;number (kbps)
+                     (default 512))
+  (prio-3-rate       wondershaper-configuration-prio-3-rate       ;number (kbps)
+                     (default (/ (* 20 %wondershaper-default-download-speed) 100)))
+  (prio-3-ceil       wondershaper-configuration-prio-3-ceil
+                     (default (/ (* 90 %wondershaper-default-download-speed) 100)))
+  (high-prio-dest    wondershaper-configuration-high-prio-dest    ;list of ip addresses
+                     (default '()))
+  (no-prio-host-src  wondershaper-configuration-no-prio-host-src  ;list of ip addresses
+                     (default '()))
+  (no-prio-host-dest wondershaper-configuration-no-prio-host-dest ;list of ip addresses
+                     (default '()))
+  (no-prio-port-src  wondershaper-configuration-no-prio-port-src  ;list of port numbers
+                     (default '()))
+  (no-prio-port-dest wondershaper-configuration-no-prio-port-dest ;list of port numbers
+                     (default '())))
+
+(define wondershaper-config-file
+  (match-lambda
+    (($ <wondershaper-configuration> _ interface download-speed
+                                     upload-speed prio-3-rate prio-3-ceil high-prio-dest
+                                     no-prio-host-src no-prio-host-dest
+                                     no-prio-port-src no-prio-port-dest)
+     (begin
+       (define (shell-quote str)
+         "Return STR wrapped in single quotes, with every single quote in the string escaped."
+         (let ((quote-char (lambda (chr)
+                             (if (eq? chr #\')
+                                 "'\\''"
+                                 (string chr)))))
+           (string-append
+            "'"
+            (let loop ((chars  (string->list str))
+                       (result ""))
+              (match chars
+                (() result)
+                ((head tail ...)
+                 (loop tail
+                       (string-append result
+                                      (quote-char head))))))
+            "'")))
+       (define (list->bash-array lst)
+         (string-append "(" (string-join (map shell-quote lst)) ")"))
+       (define (format-config)
+         (string-append
+          "IFACE=" (shell-quote interface) "
+DSPEED=\"" (number->string download-speed) "\"
+USPEED=\"" (number->string upload-speed) "\"
+PRIO_3_RATE=\"" (number->string prio-3-rate) "\"
+PRIO_3_CEIL=\"" (number->string prio-3-ceil) "\"
+HIPRIODST=" (list->bash-array high-prio-dest) "
+NOPRIOHOSTSRC=" (list->bash-array no-prio-host-src) "
+NOPRIOHOSTDST=" (list->bash-array no-prio-host-dest) "
+NOPRIOPORTSRC=" (list->bash-array (map number->string no-prio-port-src)) "
+NOPRIOPORTDST=" (list->bash-array (map number->string no-prio-port-dest)) "
+"))
+       (computed-file
+        "wondershaper.conf"
+        #~(call-with-output-file #$output
+            (lambda (port)
+              (display "# Generated by wondershaper-service\n" port)
+              (display #$(format-config) port))))))))
+
+(define (wondershaper-shepherd-service config)
+  (match config
+    (($ <wondershaper-configuration> wondershaper)
+     (list (shepherd-service
+            (provision '(wondershaper))
+            (documentation "Configure traffic control")
+            (requirement '(networking))
+            (start #~(lambda _
+                       (invoke #$(file-append wondershaper "/bin/wondershaper")
+                               "-p" "-f" #$(wondershaper-config-file config))))
+            (one-shot? #t))))))
+
+(define wondershaper-service-type
+  (service-type
+   (name 'wondershaper)
+   (extensions
+    (list (service-extension shepherd-root-service-type
+                             wondershaper-shepherd-service)))
+   (default-value (wondershaper-configuration))
+   (description "Run @uref{https://github.com/magnific0/wondershaper,
+wondershaper}, a small utility script setting up traffic control (tc).")))
+
 ;;; networking.scm ends here
-- 
2.32.0





Acknowledgement sent to Aljosha Papsch <ep@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#49255; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 28 Jun 2021 15:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.