Imported Debian version 4.7.18

This commit is contained in:
Marco d'Itri 2006-10-06 18:47:53 +02:00
parent 3a305f1926
commit 1ea7943996
9 changed files with 39 additions and 6 deletions

View File

@ -1,6 +1,6 @@
/* Program version */ /* Program version */
/* not for the inetutils version */ /* not for the inetutils version */
#define VERSION "4.7.17" #define VERSION "4.7.18"
/* Configurable features */ /* Configurable features */

1
data.h
View File

@ -24,7 +24,6 @@ const char *ripe_servers[] = {
"whois.nic.ir", "whois.nic.ir",
"whois.nic.ck", "whois.nic.ck",
"whois.ra.net", "whois.ra.net",
"whois.radb.net",
NULL NULL
}; };

10
debian/changelog vendored
View File

@ -1,3 +1,13 @@
whois (4.7.18) unstable; urgency=medium
* whois.radb.net does not understand the RIPE protocol anymore.
* Added support for IPv6 Teredo addresses, contributed by Rémi
Denis-Courmont. (Closes: #384373)
* Updated the .mobi and .gs TLD servers. (Closes: #389880, 391447)
* Added the .gd TLD server.
-- Marco d'Itri <md@linux.it> Fri, 6 Oct 2006 18:47:53 +0200
whois (4.7.17) unstable; urgency=medium whois (4.7.17) unstable; urgency=medium
* 4.7.16 did not ask whois.denic.de for the complete data. Fixed. * 4.7.16 did not ask whois.denic.de for the complete data. Fixed.

View File

@ -2,6 +2,7 @@
# The parser is very simple-minded and wants the two first components of # The parser is very simple-minded and wants the two first components of
# addresses. It does not deal with networks == 0 or > 24 bit. # addresses. It does not deal with networks == 0 or > 24 bit.
2001:0000::/32 teredo
2001:0200::/23 apnic 2001:0200::/23 apnic
2001:0400::/23 arin 2001:0400::/23 arin
2001:0600::/23 ripe 2001:0600::/23 ripe

View File

@ -26,6 +26,8 @@ while (<>) {
print $s; print $s;
} elsif ($s eq '6to4') { } elsif ($s eq '6to4') {
print "\\x0A"; print "\\x0A";
} elsif ($s eq 'teredo') {
print "\\x0B";
} elsif ($s eq 'UNALLOCATED') { } elsif ($s eq 'UNALLOCATED') {
print "\\006"; print "\\006";
} else { } else {

View File

@ -37,7 +37,7 @@ e164.arpa whois.ripe.net
.coop whois.nic.coop .coop whois.nic.coop
.info whois.afilias.info .info whois.afilias.info
.jobs whois.jobs .jobs whois.jobs
.mobi WEB http://pc.mtld.mobi/whois/ .mobi whois.dotmobiregistry.net
.museum whois.museum .museum whois.museum
.name whois.nic.name .name whois.nic.name
.pro whois.registrypro.pro .pro whois.registrypro.pro
@ -121,7 +121,7 @@ e164.arpa whois.ripe.net
#.fx #.fx
.ga NONE # www.nic.ga .ga NONE # www.nic.ga
.gb NONE .gb NONE
#.gd # NO NIC (UPR) .gd whois.adamsnames.tc
.ge WEB http://whois.sanet.ge/ .ge WEB http://whois.sanet.ge/
.gf whois.nplus.gf .gf whois.nplus.gf
.gg whois.channelisles.net .gg whois.channelisles.net
@ -133,7 +133,7 @@ e164.arpa whois.ripe.net
.gp whois.nic.gp .gp whois.nic.gp
#.gq # NO NIC http://www.getesa.gq/ #.gq # NO NIC http://www.getesa.gq/
.gr WEB https://grweb.ics.forth.gr/Whois?lang=en .gr WEB https://grweb.ics.forth.gr/Whois?lang=en
.gs whois.adamsnames.tc .gs whois.nic.gs
.gt WEB http://www.gt/whois.htm .gt WEB http://www.gt/whois.htm
.gu WEB http://gadao.gov.gu/domainsearch.htm .gu WEB http://gadao.gov.gu/domainsearch.htm
#.gw # no NIC? #.gw # no NIC?

20
whois.c
View File

@ -248,6 +248,12 @@ const char *handle_query(const char *hserver, const char *hport,
/* XXX should fail if server[0] < ' ' */ /* XXX should fail if server[0] < ' ' */
qstring = p; /* XXX leak */ qstring = p; /* XXX leak */
break; break;
case 0x0B:
p = convert_teredo(qstring);
printf(_("\nQuerying for the IPv4 endpoint %s of a Teredo IPv6 address.\n\n"), p);
server = whichwhois(p);
qstring = p ;
break;
default: default:
break; break;
} }
@ -842,6 +848,20 @@ char *convert_6to4(const char *s)
return new; return new;
} }
char *convert_teredo(const char *s)
{
char *new = malloc(sizeof("255.255.255.255"));
unsigned int a, b;
if (sscanf(s, "2001:%*[^:]:%*[^:]:%*[^:]:%*[^:]:%*[^:]:%x:%x", &a, &b) != 2)
return (char *) "0.0.0.0";
a ^= 0xffff;
b ^= 0xffff;
sprintf(new, "%d.%d.%d.%d", a >> 8, a & 0xff, b >> 8, b & 0xff);
return new;
}
unsigned long myinet_aton(const char *s) unsigned long myinet_aton(const char *s)
{ {
unsigned long a, b, c, d; unsigned long a, b, c, d;

View File

@ -27,6 +27,7 @@ int domcmp(const char *, const char *);
int domfind(const char *, const char *[]); int domfind(const char *, const char *[]);
char *normalize_domain(const char *); char *normalize_domain(const char *);
char *convert_6to4(const char *); char *convert_6to4(const char *);
char *convert_teredo(const char *);
const char *handle_query(const char *server, const char *port, const char *handle_query(const char *server, const char *port,
const char *qstring, const char *fstring); const char *qstring, const char *fstring);
void split_server_port(const char *const input, const char **server, void split_server_port(const char *const input, const char **server,

View File

@ -1,6 +1,6 @@
Summary: Enhanced WHOIS client Summary: Enhanced WHOIS client
Name: whois Name: whois
Version: 4.7.17 Version: 4.7.18
Release: 1 Release: 1
License: GPL License: GPL
Vendor: Marco d'Itri <md@linux.it> Vendor: Marco d'Itri <md@linux.it>