Debian Bug report logs - #610036
manpages: update manpage for resolv.conf for IPv6 support

version graph

Package: manpages; Maintainer for manpages is Martin Schulze <joey@debian.org>; Source for manpages is src:manpages.

Reported by: "Witold Baryluk" <baryluk@smp.if.uj.edu.pl>

Date: Fri, 14 Jan 2011 23:54:02 UTC

Severity: minor

Tags: fixed-upstream, ipv6, patch

Found in version manpages/3.27-1

Fixed in version manpages/3.44-1

Done: Simon Paillard <spaillard@debian.org>

Bug is archived. No further changes may be made.

Forwarded to http://thread.gmane.org/gmane.linux.man/3261

Toggle useless messages

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


Report forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#610036; Package manpages. (Fri, 14 Jan 2011 23:54:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Witold Baryluk" <baryluk@smp.if.uj.edu.pl>:
New Bug report received and forwarded. Copy sent to Martin Schulze <joey@debian.org>. (Fri, 14 Jan 2011 23:54:05 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: "Witold Baryluk" <baryluk@smp.if.uj.edu.pl>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: manpages: update manpage for resolv.conf for IPv6 support
Date: Sat, 15 Jan 2011 00:52:17 +0100
Package: manpages
Version: 3.27-1
Severity: normal

I today discovered undocumented feature of resolv.conf
Nameply nameserver can be a IPv6 address!
Current manpage (implicitly) says only IPv4 is supported.

So for example:

==================

nameserver 2001:470:20::2
nameserver 149.156.82.205
search smp.if.uj.edu.pl

==================
will work


PS. Manpage also misses the important fact that empty lines, and lines begining  (?) from # are ignored.
I was always thinking that putting # will make some error, as it was no information
in manpage about it, but I found that resolvconf put # automatically so i assume it works.
There are probably few other syntax rules, which are not mentioned.



-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to pl_PL.utf8)
Shell: /bin/sh linked to /bin/dash

manpages depends on no packages.

manpages recommends no packages.

Versions of packages manpages suggests:
ii  konqueror [man-browser]       4:4.4.5-1  advanced file manager, web browser
ii  man-db [man-browser]          2.5.7-7    on-line manual pager

-- debconf-show failed




Severity set to 'minor' from 'normal' Request was from Simon Paillard <spaillard@debian.org> to control@bugs.debian.org. (Sat, 12 Feb 2011 18:21:07 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#610036; Package manpages. (Sat, 09 Jun 2012 14:00:30 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Paillard <spaillard@debian.org>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Sat, 09 Jun 2012 14:00:31 GMT) Full text and rfc822 format available.

Message #12 received at 610036@bugs.debian.org (full text, mbox):

From: Simon Paillard <spaillard@debian.org>
To: Witold Baryluk <baryluk@smp.if.uj.edu.pl>, 610036@bugs.debian.org
Subject: Re: Bug#610036: manpages: update manpage for resolv.conf for IPv6 support
Date: Sat, 9 Jun 2012 15:36:49 +0200
tag 610036 +ipv6
thanks

Hi,

On Sat, Jan 15, 2011 at 12:52:17AM +0100, Witold Baryluk wrote:
> Package: manpages
> Version: 3.27-1
> Severity: normal
> 
> I today discovered undocumented feature of resolv.conf
> Nameply nameserver can be a IPv6 address!
> Current manpage (implicitly) says only IPv4 is supported.
> ==================
> nameserver 2001:470:20::2
> nameserver 149.156.82.205
> search smp.if.uj.edu.pl
> ==================

Well, not documented indeed, I wonder if it is really necessary to explicit this.

The only misleading part IMO is the "dot notation" wording and sortlist options:
nameserver Name server IP address
	Internet address (in dot notation)
[..]
sortlist
[..]
	sortlist 130.155.160.0/255.255.240.0 130.155.0.0

I don't know whether it works, I don't have IPv6 to easily perform the test.
If this works, an IPv6 example would be welcomed.

> PS. Manpage also misses the important fact that empty lines, and lines begining  (?) from # are ignored.
> I was always thinking that putting # will make some error, as it was no information
> in manpage about it, but I found that resolvconf put # automatically so i assume it works.
> There are probably few other syntax rules, which are not mentioned.

Fixed since upstrea 3.36, that means first in Debian since 3.40-0.1.
 
commit 98afd65767dbf0981205956f32ba5ca22d1e0b9b
Refs: man-pages-3.35-28-g98afd65
Commit:     Michael Kerrisk <mtk.manpages@gmail.com>
CommitDate: Wed Feb 8 07:29:23 2012 +1300

    resolv.conf.5: Describe syntax used for comments
    See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656994


-- 
Simon Paillard




Added tag(s) ipv6. Request was from Simon Paillard <spaillard@debian.org> to control@bugs.debian.org. (Sat, 09 Jun 2012 14:00:45 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#610036; Package manpages. (Sat, 09 Jun 2012 17:45:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Witold Baryluk <baryluk@smp.if.uj.edu.pl>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Sat, 09 Jun 2012 17:45:03 GMT) Full text and rfc822 format available.

Message #19 received at 610036@bugs.debian.org (full text, mbox):

From: Witold Baryluk <baryluk@smp.if.uj.edu.pl>
To: Simon Paillard <spaillard@debian.org>
Cc: 610036@bugs.debian.org
Subject: Re: Bug#610036: manpages: update manpage for resolv.conf for IPv6 support
Date: Sat, 9 Jun 2012 19:43:46 +0200
On 06-09 15:36, Simon Paillard wrote:
> tag 610036 +ipv6
> thanks
> 
> Hi,
> 
> On Sat, Jan 15, 2011 at 12:52:17AM +0100, Witold Baryluk wrote:
> > Package: manpages
> > Version: 3.27-1
> > Severity: normal
> > 
> > I today discovered undocumented feature of resolv.conf
> > Nameply nameserver can be a IPv6 address!
> > Current manpage (implicitly) says only IPv4 is supported.
> > ==================
> > nameserver 2001:470:20::2
> > nameserver 149.156.82.205
> > search smp.if.uj.edu.pl
> > ==================
> 
> Well, not documented indeed, I wonder if it is really necessary to explicit this.
> 

Hello Simon,

Well, many programs often use slightly different notation for IPv4 and
IPv6, like putting IPv6 in square brackets (this is for example a case
for hosts.allow/hosts.deny syntax).

It also needs documenting, in case in the future glibc would allow
changing default port 53 to something else.

One could think that it will be something like  'nameserver
10.0.1.1:5353', but it will not work in ipv6 case. So probably a
keyword-like syntax 'nameserver 10.0.1.1 port 5353', or squere brackets
notations (like in URLs), will be needed.

Some tools like network-manager, resolvconf, rdnssd, openvpn, etc.
sometimes need to write to resolv.conf and until it is documented and
stabilized, it cannot be done safely.

Regards,
Witek

-- 
Witold Baryluk




Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#610036; Package manpages. (Thu, 25 Oct 2012 00:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to 610036@bugs.debian.org:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Thu, 25 Oct 2012 00:18:03 GMT) Full text and rfc822 format available.

Message #24 received at 610036@bugs.debian.org (full text, mbox):

From: Simon Paillard <spaillard@debian.org>
To: Witold Baryluk <baryluk@smp.if.uj.edu.pl>, 610036@bugs.debian.org
Subject: Re: Bug#610036: manpages: update manpage for resolv.conf for IPv6 support
Date: Thu, 25 Oct 2012 02:14:11 +0200
Control: -1 tag +patch

Hi,

On Sat, Jun 09, 2012 at 07:43:46PM +0200, Witold Baryluk wrote:
> On 06-09 15:36, Simon Paillard wrote:
> > On Sat, Jan 15, 2011 at 12:52:17AM +0100, Witold Baryluk wrote:
[..]
> > > I today discovered undocumented feature of resolv.conf
> > > Nameply nameserver can be a IPv6 address!
> > > Current manpage (implicitly) says only IPv4 is supported.
> > > ==================
> > > nameserver 2001:470:20::2
> > > nameserver 149.156.82.205
> > 
> > Well, not documented indeed, I wonder if it is really necessary to explicit this.
> 
> Well, many programs often use slightly different notation for IPv4 and
> IPv6, like putting IPv6 in square brackets (this is for example a case
> for hosts.allow/hosts.deny syntax).

Code (function inet_pton6) says it conforms to RFC 1884:
   2.2 Text Representation of Addresses
   http://tools.ietf.org/html/rfc1884#page-4

In the same time, inet_pton manpages says it's RFC2373 (a small update, not
changing IPv6 address string format):
   http://tools.ietf.org/html/rfc2373#section-2.2

Patch sent upstream.
 
> It also needs documenting, in case in the future glibc would allow
> changing default port 53 to something else.
> 
> One could think that it will be something like  'nameserver
> 10.0.1.1:5353', but it will not work in ipv6 case. So probably a
> keyword-like syntax 'nameserver 10.0.1.1 port 5353', or squere brackets
> notations (like in URLs), will be needed.

Let's keep future evolutions for future documentation :)

> Some tools like network-manager, resolvconf, rdnssd, openvpn, etc.
> sometimes need to write to resolv.conf and until it is documented and
> stabilized, it cannot be done safely.

PS: btw, I've checked v4/v6 in this manpage, glibc happens to not implement
sortlist for IPv6 addresses.

-- 
Simon Paillard



Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#610036; Package manpages. (Thu, 25 Oct 2012 00:18:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Simon Paillard <spaillard@debian.org>:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Thu, 25 Oct 2012 00:18:05 GMT) Full text and rfc822 format available.

Message #29 received at 610036@bugs.debian.org (full text, mbox):

From: Simon Paillard <spaillard@debian.org>
To: linux-man@vger.kernel.org
Cc: 610036@bugs.debian.org, Simon Paillard <spaillard@debian.org>
Subject: [PATCH] resolv.conf.5: document IPv6 format for nameserver
Date: Thu, 25 Oct 2012 02:15:51 +0200
Note this format is specified by RFC2373 and implemented in inet_pton().

See http://bugs.debian.org/610036
Reported-by: Witold Baryluk <baryluk@smp.if.uj.edu.pl>
---
 man5/resolv.conf.5 |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/man5/resolv.conf.5 b/man5/resolv.conf.5
index e82ea72..fad39b5 100644
--- a/man5/resolv.conf.5
+++ b/man5/resolv.conf.5
@@ -41,9 +41,10 @@ and the domain search path is constructed from the domain name.
 .LP
 The different configuration options are:
 .TP
-\fBnameserver\fP Name server IP address
-Internet address (in dot notation) of a name server
-that the resolver should query.
+\fBnameserver\fP Name server address
+that the resolver should query, either
+an IPv4 address (in dot notation),
+or an IPv6 address in colon (and possibly dot) notation as per RFC2373.
 Up to
 .B MAXNS
 (currently 3, see \fI<resolv.h>\fP) name servers may be listed,
-- 
1.7.10.4




Set Bug forwarded-to-address to 'http://thread.gmane.org/gmane.linux.man/3261'. Request was from Simon Paillard <spaillard@debian.org> to control@bugs.debian.org. (Thu, 25 Oct 2012 00:21:06 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Simon Paillard <spaillard@debian.org> to control@bugs.debian.org. (Thu, 25 Oct 2012 00:24:03 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Martin Schulze <joey@debian.org>:
Bug#610036; Package manpages. (Sun, 11 Nov 2012 11:12:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to mtk.manpages@gmail.com:
Extra info received and forwarded to list. Copy sent to Martin Schulze <joey@debian.org>. (Sun, 11 Nov 2012 11:12:06 GMT) Full text and rfc822 format available.

Message #38 received at 610036@bugs.debian.org (full text, mbox):

From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: 610036@bugs.debian.org
Cc: Witold Baryluk <baryluk@smp.if.uj.edu.pl>, control@bugs.debian.org, Simon Paillard <spaillard@debian.org>
Subject: Re: Bug#610036: manpages: update manpage for resolv.conf for IPv6 support
Date: Sun, 11 Nov 2012 12:09:56 +0100
tags 610036 fixed-upstream
thanks

On Thu, Oct 25, 2012 at 2:14 AM, Simon Paillard <spaillard@debian.org> wrote:
> Control: -1 tag +patch
>
> Hi,
>
> On Sat, Jun 09, 2012 at 07:43:46PM +0200, Witold Baryluk wrote:
>> On 06-09 15:36, Simon Paillard wrote:
>> > On Sat, Jan 15, 2011 at 12:52:17AM +0100, Witold Baryluk wrote:
> [..]
>> > > I today discovered undocumented feature of resolv.conf
>> > > Nameply nameserver can be a IPv6 address!
>> > > Current manpage (implicitly) says only IPv4 is supported.
>> > > ==================
>> > > nameserver 2001:470:20::2
>> > > nameserver 149.156.82.205
>> >
>> > Well, not documented indeed, I wonder if it is really necessary to explicit this.
>>
>> Well, many programs often use slightly different notation for IPv4 and
>> IPv6, like putting IPv6 in square brackets (this is for example a case
>> for hosts.allow/hosts.deny syntax).
>
> Code (function inet_pton6) says it conforms to RFC 1884:
>    2.2 Text Representation of Addresses
>    http://tools.ietf.org/html/rfc1884#page-4
>
> In the same time, inet_pton manpages says it's RFC2373 (a small update, not
> changing IPv6 address string format):
>    http://tools.ietf.org/html/rfc2373#section-2.2
>
> Patch sent upstream.
>
>> It also needs documenting, in case in the future glibc would allow
>> changing default port 53 to something else.
>>
>> One could think that it will be something like  'nameserver
>> 10.0.1.1:5353', but it will not work in ipv6 case. So probably a
>> keyword-like syntax 'nameserver 10.0.1.1 port 5353', or squere brackets
>> notations (like in URLs), will be needed.
>
> Let's keep future evolutions for future documentation :)
>
>> Some tools like network-manager, resolvconf, rdnssd, openvpn, etc.
>> sometimes need to write to resolv.conf and until it is documented and
>> stabilized, it cannot be done safely.
>
> PS: btw, I've checked v4/v6 in this manpage, glibc happens to not implement
> sortlist for IPv6 addresses.

Simon, I've applied a slightly modified version of your patch, for
upstream 3.45.

Cheers,

Michael


--- a/man5/resolv.conf.5
+++ b/man5/resolv.conf.5
@@ -42,8 +42,9 @@ and the domain search path is constructed from the
domain name.
 The different configuration options are:
 .TP
 \fBnameserver\fP Name server IP address
-Internet address (in dot notation) of a name server
-that the resolver should query.
+Internet address of a name server that the resolver should query,
+either an IPv4 address (in dot notation),
+or an IPv6 address in colon (and possibly dot) notation as per RFC 2373.
 Up to
 .B MAXNS
 (currently 3, see \fI<resolv.h>\fP) name servers may be listed,



Added tag(s) fixed-upstream. Request was from "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> to control@bugs.debian.org. (Sun, 11 Nov 2012 11:12:08 GMT) Full text and rfc822 format available.

Added tag(s) pending. Request was from Simon Paillard <spaillard@debian.org> to control@bugs.debian.org. (Fri, 16 Nov 2012 18:57:03 GMT) Full text and rfc822 format available.

Reply sent to Simon Paillard <spaillard@debian.org>:
You have taken responsibility. (Fri, 16 Nov 2012 20:57:24 GMT) Full text and rfc822 format available.

Notification sent to "Witold Baryluk" <baryluk@smp.if.uj.edu.pl>:
Bug acknowledged by developer. (Fri, 16 Nov 2012 20:57:24 GMT) Full text and rfc822 format available.

Message #47 received at 610036-close@bugs.debian.org (full text, mbox):

From: Simon Paillard <spaillard@debian.org>
To: 610036-close@bugs.debian.org
Subject: Bug#610036: fixed in manpages 3.44-1
Date: Fri, 16 Nov 2012 20:47:47 +0000
Source: manpages
Source-Version: 3.44-1

We believe that the bug you reported is fixed in the latest version of
manpages, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 610036@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon Paillard <spaillard@debian.org> (supplier of updated manpages package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 16 Nov 2012 19:56:48 +0100
Source: manpages
Binary: manpages manpages-dev
Architecture: source all
Version: 3.44-1
Distribution: unstable
Urgency: low
Maintainer: Martin Schulze <joey@debian.org>
Changed-By: Simon Paillard <spaillard@debian.org>
Description: 
 manpages   - Manual pages about using a GNU/Linux system
 manpages-dev - Manual pages about using GNU/Linux for development
Closes: 122383 295635 604928 610036 633505 640764 651476 670874 675891 691414 692595 693255
Changes: 
 manpages (3.44-1) unstable; urgency=low
 .
   * Imported Upstream version 3.44: (Closes: #692595)
     . new manpages: getauxval.3 secure_getenv.3
     . major update to delete_module.2 init_module.2 prctl.2 getauxval.3 proc.5
     . fts.3: Improve description of physical vs. logical (Closes: #633505)
     . getdomainname.2: these calls relate to NIS, not DNS (Closes: #295635)
     . proc.5: fix 'starttime' description of /proc/PID/stat (Closes: #675891)
     . ptrace.2: Clarify some operations are not present on all
       architectures (Closes: #122383)
   * motd.5 updated and motd.tail removed: due to new behaviour of sysvinit
     2.88dsf-24 (Closes: #691414)
   * Add glibc-doc-reference to package description (Closes: #640764)
   * fputs.3: missing space in putc(c,stdout) (Closes: #693255)
   * resolv.conf.5: Document IPv6 format for nameserver (Closes: #610036)
   * stat.2: Clarify description of EOVERFLOW error (Closes: #604928)
   * Ack my NMUs (Closes: #651476, #670874)
Checksums-Sha1: 
 07d45cc9bdcf67149b7d82c27ce71d170e4ff933 1907 manpages_3.44-1.dsc
 6462c433044a84ff20008709175f6afa23dc0eb8 1762238 manpages_3.44.orig.tar.gz
 3798a32f25a814e5a38a6bc41ba1f541745ac600 47140 manpages_3.44-1.diff.gz
 945bef6da6a853f5a8c121bbcd4233b40998d942 795004 manpages_3.44-1_all.deb
 7ff3347ec10492594753aa9d97438abaa1eb4974 1737352 manpages-dev_3.44-1_all.deb
Checksums-Sha256: 
 30765fbf411a0aef331d86b45e64b58e58aac6d0f45eca09dfb9d9c8455713b1 1907 manpages_3.44-1.dsc
 4ec49f5f9faac757ffa2dfe6213e3ab8840a69325c377bfc4323b176c35cd0b2 1762238 manpages_3.44.orig.tar.gz
 0ec944859ec88bb239c3baa5cb9164ba54371c9b810687d91009a4c1dc964c3b 47140 manpages_3.44-1.diff.gz
 d8413c8901b76810ef7bf3a8375a1e5de36a8b25c5dc523dd9d436ae5e5e82c0 795004 manpages_3.44-1_all.deb
 0834ed14fab7621cef5a13d7de419f4bb3f454a7b0b0d849eaf22d623d54d315 1737352 manpages-dev_3.44-1_all.deb
Files: 
 ab10f22227f32682d3efa80e7efdfe54 1907 doc important manpages_3.44-1.dsc
 9b5b9c38f1db0ab944d5f879ba9d0557 1762238 doc important manpages_3.44.orig.tar.gz
 bf90c0de1df4183e85c790027fa0f051 47140 doc important manpages_3.44-1.diff.gz
 599a8dde0a88d618bb7dc2fe4c47509d 795004 doc important manpages_3.44-1_all.deb
 4445e79d4c739e9506e190a19d4ba052 1737352 doc optional manpages-dev_3.44-1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJQppUwAAoJEN/3OMLRbPui1x0QAJtyppV88sjsXlCeZa/3BpNE
0Mg7meTsn+1wEDWEDrKu+OGiTaEFIDdsHVWcaPz+NF7DQAh3i7t5+0xK+iVhsHnU
5MYRCOUerA7jYp+djuy62rmDJhGLJ9HO5Vb+2CadHiRt1JJJa/g8gJ9DRwa31Mkv
Wy3QW4B/psvO4iOvOM+IRkuU+m3Soa7ArLZWdKqVQ4Kq5th5BhZoo9u7+vg3KSQw
TbIMPnZuuVWakT4Pw8SVxYPbPQbi3UVTt3hp9MzFM1JWkzfkiZlDvziSH+nyW7H4
0mUTk7RHiNqXvyjcmw9rfahjLaGnQEa/Sj5JigHG5NU9+16O//DX5gxVVjbMuzhP
Kopxw5a129exfGK++XR0O9wcPR4BnKuoHXAFeJWP8o3EKt09XTWaIATRBYInmQ+R
UJ4OJKGn5hmPa9wN+itXbe2PAun6az3B04vgcMWoY4oMndu11KRAIKIhuQePfi1c
rdvw/HGxfQtOque2z6hpbVJfQXXfEpmbT/EABtHROQTCcbn+dMhOvfxWekzP55yr
/S/QWiGj3tbxcWHV0YpxMJIzs8tJFeygXxnZsq6qV/iJBgz+pFMP0srXcc9ModV2
1SFAwaITORw6jKpGOQJuVDK5WM6YFZcT5HGATFApzb908sgSngKW07n90aGLMdtR
V6/JVn3EsxJPjyKK0QLA
=PrZe
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 25 Feb 2013 07:26:58 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 19:00:01 2014; Machine Name: beach.debian.org

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