GNU bug report logs - #39961
[PATCH] gnu: Add traceroute.

Previous Next

Package: guix-patches;

Reported by: Vincent Legoll <vincent.legoll <at> gmail.com>

Date: Fri, 6 Mar 2020 23:14:02 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39961 in the body.
You can then email your comments to 39961 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Fri, 06 Mar 2020 23:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Vincent Legoll <vincent.legoll <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 06 Mar 2020 23:14:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add traceroute.
Date: Sat, 7 Mar 2020 00:13:18 +0100
[Message part 1 (text/plain, inline)]
This need an in-depth review, as there is something strange, I had to
set LIBRARY_PATH to overcome gcc/ld not finding crt{i,1}.o

I found the following bug:
https://issues.guix.gnu.org/issue/32131
that met a similar issue...

Please advise how to proceed further.

-- 
Vincent Legoll
[0001-gnu-Add-traceroute.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Sat, 07 Mar 2020 01:29:01 GMT) Full text and rfc822 format available.

Message #8 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add traceroute.
Date: Sat, 7 Mar 2020 02:28:25 +0100
tracerouted OK to 9.9.9.9

-- 
Vincent Legoll




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Sat, 07 Mar 2020 11:07:02 GMT) Full text and rfc822 format available.

Message #11 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add traceroute.
Date: Sat, 7 Mar 2020 12:06:03 +0100
I've since seen a few other issues on the same subject, but cannot
find a way to get it work without setting LIBRARY_PATH...

I tried guix environment --ad-hoc gcc-toolchain, adding the missed
GUIX_PROFILE to .bash_profile, etc.

-- 
Vincent Legoll




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Sat, 07 Mar 2020 11:09:02 GMT) Full text and rfc822 format available.

Message #14 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add traceroute.
Date: Sat, 7 Mar 2020 12:08:19 +0100
I am running all this through ssh into a VM, so I also tried to run
with bash -l...

This is probably misconfiguration on my end...

-- 
Vincent Legoll




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Sat, 07 Mar 2020 13:10:02 GMT) Full text and rfc822 format available.

Message #17 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Vincent Legoll <vincent.legoll <at> gmail.com>
Cc: 39961 <at> debbugs.gnu.org
Subject: Re: [bug#39961] [PATCH] gnu: Add traceroute.
Date: Sat, 7 Mar 2020 08:09:18 -0500
On Sat, Mar 07, 2020 at 12:13:18AM +0100, Vincent Legoll wrote:
> +       (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
> +               "traceroute-" version "/traceroute-" version ".tar.gz"))

How does this compare to the traceroute provided by the inetutils
package?




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Sat, 07 Mar 2020 13:25:02 GMT) Full text and rfc822 format available.

Message #20 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: Leo Famulari <leo <at> famulari.name>
Cc: 39961 <at> debbugs.gnu.org
Subject: Re: [bug#39961] [PATCH] gnu: Add traceroute.
Date: Sat, 7 Mar 2020 14:23:43 +0100
On Sat, Mar 7, 2020 at 2:09 PM Leo Famulari <leo <at> famulari.name> wrote:
> How does this compare to the traceroute provided by the inetutils
> package?

It looks like this one does not need special permissions to run:

guest <at> guixsd ~/dev/repo/guix [env]$
/gnu/store/3h3h9qr14l7m1cwxi9598jzc3qd5pzaf-traceroute-2.1.0/bin/traceroute
-n 9.9.9.9
traceroute to 9.9.9.9 (9.9.9.9), 30 hops max, 60 byte packets
[...]
 7  212.27.56.30  45.227 ms  41.741 ms  41.734 ms
 8  212.27.56.38  48.909 ms  49.304 ms  48.599 ms
 9  212.27.56.41  55.846 ms  50.545 ms  51.603 ms
10  195.66.225.238  54.105 ms  51.924 ms  56.401 ms
11  9.9.9.9  54.743 ms !X  50.748 ms !X  52.979 ms !X

guest <at> guixsd ~/dev/repo/guix [env]$
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
9.9.9.9
traceroute to 9.9.9.9 (9.9.9.9), 64 hops max
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute:
socket: Operation not permitted

guest <at> guixsd ~/dev/repo/guix [env]$ sudo
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
9.9.9.9
traceroute to 9.9.9.9 (9.9.9.9), 64 hops max
[...]
  7   212.27.56.30  51.092ms  38.423ms  34.532ms
  8   212.27.56.38  44.764ms  41.931ms  44.963ms
  9   212.27.56.41  55.887ms  50.083ms  49.295ms
 10   195.66.225.238  51.184ms  62.666ms  57.945ms
 11   9.9.9.9  48.800ms !*  48.870ms !*  61.399ms !*

guest <at> guixsd ~/dev/repo/guix [env]$ ls -lh
/gnu/store/3h3h9qr14l7m1cwxi9598jzc3qd5pzaf-traceroute-2.1.0/bin/traceroute
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute
-r-xr-xr-x 8 root root 85K Jan  1  1970
/gnu/store/3h3h9qr14l7m1cwxi9598jzc3qd5pzaf-traceroute-2.1.0/bin/traceroute
-r-xr-xr-x 2 root root 70K Jan  1  1970
/gnu/store/ljwvyw48n2j28q0w96qykr04wcgwzcnh-inetutils-1.9.4/bin/traceroute

-- 
Vincent Legoll




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Mon, 28 Dec 2020 14:47:01 GMT) Full text and rfc822 format available.

Message #23 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Subject: traceroute
Date: Mon, 28 Dec 2020 15:45:45 +0100
ping ?

Anything I should add ?

-- 
Vincent Legoll




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Fri, 01 Jan 2021 12:09:01 GMT) Full text and rfc822 format available.

Message #26 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: Vincent Legoll <vincent.legoll <at> gmail.com>
Cc: 39961 <at> debbugs.gnu.org
Subject: Re: [bug#39961] traceroute
Date: Fri, 01 Jan 2021 12:08:01 +0000
[Message part 1 (text/plain, inline)]
Vincent Legoll <vincent.legoll <at> gmail.com> writes:

> ping ?
>
> Anything I should add ?

This traceroute implementation looks to be particularly difficult to
build, just searching the web for some of the errors brings up other
people having problems with it (like [1]).

1: https://patchwork.ozlabs.org/project/buildroot/patch/1539902241-10211-1-git-send-email-sergio.prado <at> e-labworks.com/

Some comments though, I'd suggest transforming what you're doing with
make flags from modifying the phases to adding to the #:make-flags
argument, so something like this:

       #:make-flags
       (list (string-append "LIBRARY_PATH="
                            (assoc-ref %build-inputs "libc")
                            "/lib")
             (string-append "CFLAGS=-I"
                            (assoc-ref %build-inputs "kernel-headers")
                            "/include")
             "LDFLAGS=-lm -L../libsupp"
             (string-append "prefix=" (assoc-ref %outputs "out")))

What I've also done here is used the %build-inputs alist, which includes
the implicit libc and kernel-headers inputs, so you can remove those
inputs from the package definition.

As for the -lm issue with the Makefile, that's pretty frustrating. The
best thing I could come up with is something like this:

             (substitute* "default.rules"
               ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))

That has the advantage of still passing the -lm flag to gcc, and just
avoiding make tripping up over it.

Finally, I think the license might be gpl2+, with lgpl2.1+ for libsupp,
so it would be good to list both of those, with a comment describing
what the lgpl license applies to.

Could you send an updated patch?

Thanks,

Chris
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Mon, 11 Jan 2021 16:32:02 GMT) Full text and rfc822 format available.

Message #29 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Subject: New patch
Date: Mon, 11 Jan 2021 17:31:14 +0100
Hello,

following this is an updated patch, with
Christopher's feddback applied.

The nice thing is it now builds properly
without the LIBRABRY_PATH and the other
hacks. The licenses should be also good
now.

Is this OK ?

-- 
Vincent Legoll




Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Mon, 11 Jan 2021 16:32:02 GMT) Full text and rfc822 format available.

Message #32 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Cc: Vincent Legoll <vincent.legoll <at> gmail.com>
Subject: [PATCH] gnu: Add traceroute.
Date: Mon, 11 Jan 2021 17:31:17 +0100
* gnu/packages/networking.scm (traceroute): New variable.
---
 gnu/packages/networking.scm | 45 +++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 83a99ded72..5055cf399d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3680,6 +3680,51 @@ simulation, and a number of other applications.")
 network.  This must be enabled on the target host, usually in the BIOS.")
     (license license:gpl2)))
 
+(define-public traceroute
+  (package
+    (name "traceroute")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
+               "traceroute-" version "/traceroute-" version ".tar.gz"))
+       (sha256
+        (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; No tests.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-make
+           (lambda _
+               (substitute* "Make.rules"
+                 ((" -lm ") " "))
+             #t))
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let* ((libglibc (assoc-ref inputs "glibc"))
+                    (headers (assoc-ref inputs "linux-libre-headers")))
+               (invoke "make" "LDFLAGS=-lm -L../libsupp"
+                              (string-append "LIBRARY_PATH=" libglibc "/lib")
+                              (string-append "CFLAGS=-I" headers "/include")))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (invoke "make" (string-append "prefix=" out) "install"))))
+         (delete 'bootstrap)            ;there is no configure.ac file
+         (delete 'configure))))         ;there is no configure script
+    (native-inputs
+     `(("glibc" ,glibc)
+       ("linux-libre-headers" ,linux-libre-headers)))
+    (home-page "http://traceroute.sourceforge.net/")
+    (synopsis "Tracks the route taken by packets over an IP network")
+    (description "Traceroute tracks the route packets taken from an IP network
+on their way to a given host.  It utilizes the IP protocol's time to live (TTL)
+field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
+along the path to the host.")
+    (license license:gpl2)))
+
 (define-public vde2
   (package
     (name "vde2")
-- 
2.30.0





Information forwarded to guix-patches <at> gnu.org:
bug#39961; Package guix-patches. (Mon, 11 Jan 2021 16:33:02 GMT) Full text and rfc822 format available.

Message #35 received at 39961 <at> debbugs.gnu.org (full text, mbox):

From: Vincent Legoll <vincent.legoll <at> gmail.com>
To: 39961 <at> debbugs.gnu.org
Cc: Vincent Legoll <vincent.legoll <at> gmail.com>
Subject: [PATCH] gnu: Add traceroute.
Date: Mon, 11 Jan 2021 17:32:40 +0100
* gnu/packages/networking.scm (traceroute): New variable.
---
 gnu/packages/networking.scm | 39 +++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 83a99ded72..4c3faaa578 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3680,6 +3680,45 @@ simulation, and a number of other applications.")
 network.  This must be enabled on the target host, usually in the BIOS.")
     (license license:gpl2)))
 
+(define-public traceroute
+  (package
+    (name "traceroute")
+    (version "2.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
+                           "traceroute-" version "/traceroute-" version ".tar.gz"))
+       (sha256
+        (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; No tests.
+       #:make-flags
+       (list (string-append "LIBRARY_PATH="
+                            (assoc-ref %build-inputs "libc")           "/lib")
+             (string-append "CFLAGS=-I"
+                            (assoc-ref %build-inputs "kernel-headers") "/include")
+             "LDFLAGS=-lm -L../libsupp"
+             (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-make
+           (lambda _
+             (substitute* "default.rules"
+               ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
+             #t))
+         (delete 'bootstrap)           ; there is no configure.ac file
+         (delete 'configure))))        ; there is no configure script
+    (home-page "http://traceroute.sourceforge.net/")
+    (synopsis "Tracks the route taken by packets over an IP network")
+    (description "Traceroute tracks the route packets taken from an IP network
+on their way to a given host.  It utilizes the IP protocol's time to live (TTL)
+field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
+along the path to the host.")
+    (license '(license:gpl2+
+               license:lgpl2.1+)))) ; for the libsupp subdirectory
+
 (define-public vde2
   (package
     (name "vde2")
-- 
2.30.0





Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Wed, 14 Jul 2021 03:16:01 GMT) Full text and rfc822 format available.

Notification sent to Vincent Legoll <vincent.legoll <at> gmail.com>:
bug acknowledged by developer. (Wed, 14 Jul 2021 03:16:01 GMT) Full text and rfc822 format available.

Message #40 received at 39961-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Vincent Legoll <vincent.legoll <at> gmail.com>
Cc: 39961-done <at> debbugs.gnu.org, Christopher Baines <mail <at> cbaines.net>
Subject: Re: bug#39961: [PATCH] gnu: Add traceroute.
Date: Tue, 13 Jul 2021 23:15:04 -0400
Hello,

Vincent Legoll <vincent.legoll <at> gmail.com> writes:

> * gnu/packages/networking.scm (traceroute): New variable.
> ---
>  gnu/packages/networking.scm | 39 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>
> diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
> index 83a99ded72..4c3faaa578 100644
> --- a/gnu/packages/networking.scm
> +++ b/gnu/packages/networking.scm
> @@ -3680,6 +3680,45 @@ simulation, and a number of other applications.")
>  network.  This must be enabled on the target host, usually in the BIOS.")
>      (license license:gpl2)))
>  
> +(define-public traceroute
> +  (package
> +    (name "traceroute")
> +    (version "2.1.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
> +                           "traceroute-" version "/traceroute-" version ".tar.gz"))
> +       (sha256
> +        (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:tests? #f                      ; No tests.
> +       #:make-flags
> +       (list (string-append "LIBRARY_PATH="
> +                            (assoc-ref %build-inputs "libc")           "/lib")
> +             (string-append "CFLAGS=-I"
> +                            (assoc-ref %build-inputs "kernel-headers") "/include")
> +             "LDFLAGS=-lm -L../libsupp"
> +             (string-append "prefix=" (assoc-ref %outputs "out")))
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'patch-make
> +           (lambda _
> +             (substitute* "default.rules"
> +               ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
> +             #t))
> +         (delete 'bootstrap)           ; there is no configure.ac file
> +         (delete 'configure))))        ; there is no configure script
> +    (home-page "http://traceroute.sourceforge.net/")
> +    (synopsis "Tracks the route taken by packets over an IP network")
> +    (description "Traceroute tracks the route packets taken from an IP network
> +on their way to a given host.  It utilizes the IP protocol's time to live (TTL)
> +field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
> +along the path to the host.")
> +    (license '(license:gpl2+
> +               license:lgpl2.1+)))) ; for the libsupp subdirectory
> +
>  (define-public vde2
>    (package
>      (name "vde2")

I edited it to expound the description someone and for cosmetic reasons
(fitting in the 80 chars limit for example), like so:

--8<---------------cut here---------------start------------->8---
1 file changed, 18 insertions(+), 14 deletions(-)
gnu/packages/networking.scm | 32 ++++++++++++++++++--------------

modified   gnu/packages/networking.scm
@@ -3796,17 +3796,19 @@ network.  This must be enabled on the target host, usually in the BIOS.")
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/traceroute/traceroute/"
-                           "traceroute-" version "/traceroute-" version ".tar.gz"))
+                           "traceroute-" version "/traceroute-"
+                           version ".tar.gz"))
        (sha256
         (base32 "1dh32vcfawkl1p9g4ral1p0camds4paqr8db1kaqxwyk6hmd4s9n"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f                      ; No tests.
+     `(#:tests? #f                      ;no test suite
        #:make-flags
        (list (string-append "LIBRARY_PATH="
-                            (assoc-ref %build-inputs "libc")           "/lib")
+                            (assoc-ref %build-inputs "libc") "/lib")
              (string-append "CFLAGS=-I"
-                            (assoc-ref %build-inputs "kernel-headers") "/include")
+                            (assoc-ref %build-inputs "kernel-headers")
+                            "/include")
              "LDFLAGS=-lm -L../libsupp"
              (string-append "prefix=" (assoc-ref %outputs "out")))
        #:phases
@@ -3814,18 +3816,20 @@ network.  This must be enabled on the target host, usually in the BIOS.")
          (add-after 'unpack 'patch-make
            (lambda _
              (substitute* "default.rules"
-               ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))
-             #t))
-         (delete 'bootstrap)           ; there is no configure.ac file
-         (delete 'configure))))        ; there is no configure script
+               ((" \\$\\(LIBDEPS\\)") "$(filter-out -l%,$(LIBDEPS))"))))
+         (delete 'bootstrap)            ;no configure.ac file
+         (delete 'configure))))         ;no configure script
     (home-page "http://traceroute.sourceforge.net/")
     (synopsis "Tracks the route taken by packets over an IP network")
-    (description "Traceroute tracks the route packets taken from an IP network
-on their way to a given host.  It utilizes the IP protocol's time to live (TTL)
-field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway
-along the path to the host.")
-    (license '(license:gpl2+
-               license:lgpl2.1+)))) ; for the libsupp subdirectory
+    (description "This package provides a modern, but Linux-specific
+implementation of the @command{traceroute} command that can be used to follow
+the route taken by packets on an IP network on their way to a given host.  It
+utilizes the IP protocol's time to live (TTL) field and attempts to elicit an
+ICMP TIME_EXCEEDED response from each gateway along the path to the host.
+Compared to other implementations, this @command{traceroute} command allows
+some traces for unprivileged users.")
+    (license (list license:gpl2+
+                   license:lgpl2.1+)))) ;for the libsupp subdirectory
 
 (define-public vde2
   (package
--8<---------------cut here---------------end--------------->8---

And pushed as 59e97a67ba.

Thank you!

Closing.

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 11 Aug 2021 11:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 7 days ago.

Previous Next


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