Compare commits

..

1 Commits

9 changed files with 38 additions and 40 deletions

2
data.h
View File

@ -17,6 +17,7 @@ const char *ripe_servers[] = {
"whois.ripn.net", "whois.ripn.net",
"whois.register.si", "whois.register.si",
"whois.nic.ir", "whois.nic.ir",
"whois.ra.net",
NULL NULL
}; };
@ -26,6 +27,7 @@ struct server_referral_handler {
}; };
const struct server_referral_handler server_referral_handlers[] = { const struct server_referral_handler server_referral_handlers[] = {
{ "whois.6bone.net", find_referral_server_6bone },
{ "whois.apnic.net", find_referral_server_apnic }, { "whois.apnic.net", find_referral_server_apnic },
{ "whois.arin.net", find_referral_server_arin }, { "whois.arin.net", find_referral_server_arin },
{ "whois.iana.org", find_referral_server_iana }, { "whois.iana.org", find_referral_server_iana },

16
debian/changelog vendored
View File

@ -1,19 +1,3 @@
whois (5.6.5) unstable; urgency=medium
* Updated the .co TLD server.
* Added some large KRNIC networks.
* Updated the second level .uk TLD servers.
* Removed the .pro TLD server.
* Removed 1 new gTLD which is no longer active.
-- Marco d'Itri <md@linux.it> Mon, 13 Oct 2025 03:37:20 +0200
whois (5.6.4) unstable; urgency=medium
* Updated the .cm and .to TLD servers.
-- Marco d'Itri <md@linux.it> Sat, 02 Aug 2025 01:13:07 +0200
whois (5.6.3) unstable; urgency=medium whois (5.6.3) unstable; urgency=medium
* Added the .sr and .мон (.xn--l1acc, Mongolia) TLD servers. * Added the .sr and .мон (.xn--l1acc, Mongolia) TLD servers.

6
debian/salsa-ci.yml vendored
View File

@ -1,6 +0,0 @@
---
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
variables:
SALSA_CI_IGNORED_BRANCHES: '^next$'

View File

@ -10,20 +10,16 @@
1.0.0.0/8 apnic 1.0.0.0/8 apnic
2.0.0.0/8 ripe 2.0.0.0/8 ripe
5.0.0.0/8 ripe 5.0.0.0/8 ripe
14.64.0.0/11 whois.nic.or.kr
14.0.0.0/8 apnic 14.0.0.0/8 apnic
24.132.0.0/14 ripe 24.132.0.0/14 ripe
27.176.0.0/13 whois.nic.or.kr
27.0.0.0/8 apnic 27.0.0.0/8 apnic
31.0.0.0/8 ripe 31.0.0.0/8 ripe
36.0.0.0/8 apnic 36.0.0.0/8 apnic
37.0.0.0/8 ripe 37.0.0.0/8 ripe
39.0.0.0/8 apnic 39.0.0.0/8 apnic
41.0.0.0/8 afrinic 41.0.0.0/8 afrinic
42.32.0.0/12 whois.nic.or.kr
42.0.0.0/7 apnic 42.0.0.0/7 apnic
46.0.0.0/8 ripe 46.0.0.0/8 ripe
49.8.0.0/14 whois.nic.or.kr
49.0.0.0/8 apnic 49.0.0.0/8 apnic
51.0.0.0/8 ripe 51.0.0.0/8 ripe
# whois -r -K -h whois.apnic.net -i admin-c IM76-AP # whois -r -K -h whois.apnic.net -i admin-c IM76-AP

View File

@ -14,20 +14,12 @@ close($fh);
my ($ver) = $line =~ /^whois \s+ \( ( [^\)]+ ) \) \s+ \S+/x; my ($ver) = $line =~ /^whois \s+ \( ( [^\)]+ ) \) \s+ \S+/x;
die "Version number not found in $changelog!\n" if not $ver; die "Version number not found in $changelog!\n" if not $ver;
$ver =~ s/ ( $ver =~ s/ ( ~bpo\d+\+\d+ | \+b\d+ | ~deb\d+.* | ubuntu\d+ | build\d+ | \+dyson\d+ ) $//x;
build\d+
| ubuntu\d+
| ~bpo\d+\+\d+
| ~deb\d+.*
| \+b\d+
| \+dyson\d+
| \+salsaci\+.+
) $//x;
# The version number must not deviate from this format or the -V option # The version number must not deviate from this format or the -V option
# to RIPE-like servers will break. If needed, update the previous regexp. # to RIPE-like servers will break. If needed, update the previous regexp.
# This may not be true anymore in 2019. # This may not be true anymore in 2019.
die "Invalid version number in $changelog: '$ver'!\n" die "Invalid version number in $changelog!\n"
unless $ver =~ /^ \d+\.\d+ ( \.\d+ )? $/x; unless $ver =~ /^ \d+\.\d+ ( \.\d+ )? $/x;
# This is the version number used in the help messages. # This is the version number used in the help messages.

View File

@ -744,6 +744,7 @@ realtor
realty realty
recipes recipes
red red
redstone
redumbrella redumbrella
rehab rehab
reise reise

View File

@ -65,7 +65,7 @@
.museum whois.nic.museum .museum whois.nic.museum
.name whois.nic.name .name whois.nic.name
.post whois.nic.post .post whois.nic.post
.pro NONE .pro whois.nic.pro
.tel whois.nic.tel .tel whois.nic.tel
.travel whois.nic.travel .travel whois.nic.travel
.xxx whois.nic.xxx .xxx whois.nic.xxx
@ -124,7 +124,7 @@
.edu.cn whois.edu.cn .edu.cn whois.edu.cn
.cn whois.cnnic.cn .cn whois.cnnic.cn
.uk.co whois.uk.co .uk.co whois.uk.co
.co whois.registry.co .co whois.nic.co
.cr whois.nic.cr .cr whois.nic.cr
.cu WEB https://www.nic.cu/ .cu WEB https://www.nic.cu/
.cv whois.nic.cv .cv whois.nic.cv
@ -316,7 +316,7 @@
.tl whois.nic.tl .tl whois.nic.tl
.tm whois.nic.tm .tm whois.nic.tm
.tn whois.ati.tn .tn whois.ati.tn
.to whois.tonicregistry.to .to whois.tonic.to
.tr whois.trabis.gov.tr .tr whois.trabis.gov.tr
.tt WEB https://www.nic.tt/cgi-bin/search.pl .tt WEB https://www.nic.tt/cgi-bin/search.pl
.tv RECURSIVE whois.nic.tv .tv RECURSIVE whois.nic.tv
@ -328,11 +328,16 @@
.ua whois.ua .ua whois.ua
.ug whois.co.ug .ug whois.co.ug
.ac.uk whois.nic.ac.uk .ac.uk whois.nic.ac.uk
.bl.uk NONE
.british-library.uk NONE
.gov.uk whois.gov.uk .gov.uk whois.gov.uk
.mil.uk NONE .icnet.uk NONE
.jet.uk NONE
.mod.uk NONE .mod.uk NONE
.nhs.uk NONE .nhs.uk NONE
.nls.uk NONE
.parliament.uk NONE .parliament.uk NONE
.police.uk NONE
.uk whois.nic.uk .uk whois.nic.uk
#.um #.um
.fed.us whois.nic.gov .fed.us whois.nic.gov

21
whois.c
View File

@ -41,6 +41,7 @@
#endif #endif
/* prototypes referenced in data.h */ /* prototypes referenced in data.h */
static void find_referral_server_6bone(char **, const char *);
static void find_referral_server_apnic(char **, const char *); static void find_referral_server_apnic(char **, const char *);
static void find_referral_server_arin(char **, const char *); static void find_referral_server_arin(char **, const char *);
static void find_referral_server_iana(char **, const char *); static void find_referral_server_iana(char **, const char *);
@ -796,6 +797,26 @@ int hide_line(int *hiding, const char *const line)
return 0; return 0;
} }
static void find_referral_server_6bone(char **referral_server, const char *buf)
{
char nh[256], np[16], nq[1024];
if (*referral_server)
return;
/* 6bone-style referral:
* % referto: whois -h whois.arin.net -p 43 as 1
*/
if (!strneq(buf, "% referto:", 10))
return;
if (sscanf(buf, REFERTO_FORMAT, nh, np, nq) == 3) {
/* XXX we are ignoring the new query string */
*referral_server = malloc(strlen(nh) + 1 + strlen(np) + 1);
sprintf(*referral_server, "%s:%s", nh, np);
}
}
static void find_referral_server_apnic(char **referral_server, const char *buf) static void find_referral_server_apnic(char **referral_server, const char *buf)
{ {
/* Possible states of this FSM: /* Possible states of this FSM:

View File

@ -1,6 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#include "utils.h" #include "utils.h"
/* 6bone referto: extension */
#define REFERTO_FORMAT "%% referto: whois -h %255s -p %15s %1021[^\n\r]"
#define HIDE_TO_THE_END -3 #define HIDE_TO_THE_END -3
#define HIDE_DISABLED -2 #define HIDE_DISABLED -2
#define HIDE_NOT_STARTED -1 #define HIDE_NOT_STARTED -1