--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: whois/5.2.15
- From: Marco d'Itri <md@linux.it>
- Date: Wed, 31 May 2017 14:53:27 +0200
- Message-id: <20170531125327.jvs3e26ls3wlfva2@bongo.bofh.it>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package whois
There is some noise not related to Debian, all the relevant changes
are related to the database.
unblock whois/5.2.15
diff -Nru whois-5.2.14/config.h whois-5.2.15/config.h
--- whois-5.2.14/config.h 2015-01-09 03:49:00.000000000 +0100
+++ whois-5.2.15/config.h 2017-02-27 00:37:41.000000000 +0100
@@ -13,6 +13,10 @@
/* autoconf in cpp macros */
+#if defined __NetBSD__ || __OpenBSD__
+# include <sys/param.h>
+#endif
+
#ifdef linux
# define ENABLE_NLS
#endif
@@ -85,7 +89,7 @@
#if (defined __FreeBSD__ && __FreeBSD__ >= 9) || \
(defined __NetBSD__ && __NetBSD_Version__ >= 600000000) || \
(defined OpenBSD && OpenBSD >= 200805) || \
- (defined __APPLE__ && defined __MACH__)
+ (defined __APPLE__ && defined __MACH__ && MAC_OS_X_VERSION_MIN_REQUIRED >= 1070)
# define HAVE_ARC4RANDOM_BUF
# undef RANDOM_DEVICE
#endif
diff -Nru whois-5.2.14/debian/changelog whois-5.2.15/debian/changelog
--- whois-5.2.14/debian/changelog 2016-12-29 23:12:19.000000000 +0100
+++ whois-5.2.15/debian/changelog 2017-02-27 00:37:41.000000000 +0100
@@ -1,3 +1,14 @@
+whois (5.2.15) unstable; urgency=medium
+
+ * Updated the .gf and .mq TLD servers.
+ * Updated the list of new gTLDs.
+ * Updated the charset for whois.nic.kz.
+ * Fixed multiple portability issues on non-Linux platforms.
+ * Fixed a lot of minor compiler warnings with no practical effects.
+ * Added support for libidn2, not enabled yet.
+
+ -- Marco d'Itri <md@linux.it> Mon, 27 Feb 2017 00:37:41 +0100
+
whois (5.2.14) unstable; urgency=medium
* Updated the .ar, .bm and .fm TLD servers.
diff -Nru whois-5.2.14/Makefile whois-5.2.15/Makefile
--- whois-5.2.14/Makefile 2016-03-29 05:37:17.000000000 +0200
+++ whois-5.2.15/Makefile 2017-02-27 00:37:41.000000000 +0100
@@ -15,7 +15,7 @@
# FreeBSD
#whois_LDADD += -liconv
#LIBS += -L/usr/local/lib -lintl
-#INCLUDES += -I/usr/local/include
+#DEFS += -I/usr/local/include
# OS/2 EMX
#whois_LDADD += -lsocket
@@ -32,10 +32,15 @@
DEFS += -DLOCALEDIR=\"$(BASEDIR)$(prefix)/share/locale\"
endif
+ifdef HAVE_LIBIDN2
+whois_LDADD += -lidn2
+DEFS += -DHAVE_LIBIDN2
+else
ifdef HAVE_LIBIDN
whois_LDADD += -lidn
DEFS += -DHAVE_LIBIDN
endif
+endif
ifdef HAVE_ICONV
whois_OBJECTS += simple_recode.o
diff -Nru whois-5.2.14/mkpasswd.c whois-5.2.15/mkpasswd.c
--- whois-5.2.14/mkpasswd.c 2016-03-29 05:37:17.000000000 +0200
+++ whois-5.2.15/mkpasswd.c 2017-02-27 00:37:41.000000000 +0100
@@ -32,6 +32,7 @@
#endif
#include <fcntl.h>
#include <string.h>
+#include <strings.h>
#include <time.h>
#include <sys/types.h>
#ifdef HAVE_XCRYPT
@@ -123,7 +124,7 @@
void generate_salt(char *const buf, const unsigned int len);
void *get_random_bytes(const unsigned int len);
-void display_help(int error);
+void NORETURN display_help(int error);
void display_version(void);
void display_methods(void);
@@ -150,7 +151,7 @@
/* prepend options from environment */
argv = merge_args(getenv("MKPASSWD_OPTIONS"), argv, &argc);
- while ((ch = GETOPT_LONGISH(argc, argv, "hH:m:5P:R:sS:V", longopts, 0))
+ while ((ch = GETOPT_LONGISH(argc, argv, "hH:m:5P:R:sS:V", longopts, NULL))
> 0) {
switch (ch) {
case '5':
@@ -363,7 +364,8 @@
void* get_random_bytes(const unsigned int count)
{
char *buf;
- int fd, bytes_read;
+ int fd;
+ ssize_t bytes_read;
buf = NOFAIL(malloc(count));
fd = open(RANDOM_DEVICE, O_RDONLY);
@@ -394,7 +396,7 @@
unsigned char *entropy;
#if defined HAVE_ARC4RANDOM_BUF
- void *entropy = NOFAIL(malloc(len));
+ entropy = NOFAIL(malloc(len));
arc4random_buf(entropy, len);
#else
entropy = get_random_bytes(len);
@@ -436,7 +438,7 @@
#endif /* RANDOM_DEVICE || HAVE_ARC4RANDOM_BUF */
-void display_help(int error)
+void NORETURN display_help(int error)
{
fprintf((EXIT_SUCCESS == error) ? stdout : stderr,
_("Usage: mkpasswd [OPTIONS]... [PASSWORD [SALT]]\n"
diff -Nru whois-5.2.14/new_gtlds_list whois-5.2.15/new_gtlds_list
--- whois-5.2.14/new_gtlds_list 2016-12-29 23:11:41.000000000 +0100
+++ whois-5.2.15/new_gtlds_list 2017-02-27 00:37:41.000000000 +0100
@@ -28,6 +28,7 @@
aetna
afamilycompany
afl
+africa
agakhan
agency
aig
diff -Nru whois-5.2.14/servers_charset_list whois-5.2.15/servers_charset_list
--- whois-5.2.14/servers_charset_list 2016-12-29 22:29:49.000000000 +0100
+++ whois-5.2.15/servers_charset_list 2017-02-27 00:37:41.000000000 +0100
@@ -36,9 +36,7 @@
whois.domain.kg cp1251
whois.nic.or.kr utf-8
whois.kr utf-8
-# XXX I had to guess: the server is unable to fully transcode U+49b in the
-# answer for xn--e1aybc.xn--80ao21a. Maybe it is cp1251 instead?
-whois.nic.kz rk1048
+whois.nic.kz utf-8
whois.nic.li utf-8
whois.domreg.lt utf-8
whois.dns.lu iso-8859-1
diff -Nru whois-5.2.14/tld_serv_list whois-5.2.15/tld_serv_list
--- whois-5.2.14/tld_serv_list 2016-12-29 23:11:41.000000000 +0100
+++ whois-5.2.15/tld_serv_list 2017-02-27 00:37:41.000000000 +0100
@@ -147,7 +147,7 @@
.gb NONE
.gd whois.nic.gd
.ge WEB http://www.registration.ge/
-.gf WEB https://www.dom-enic.com/whois.html
+.gf whois.mediaserv.net
.gg whois.gg
.gh WEB http://www.nic.gh/customer/search_c.htm
.gi whois2.afilias-grs.net
@@ -217,7 +217,7 @@
.mn whois.nic.mn
.mo WEB http://www.monic.mo/ # whois.monic.mo is restricted
.mp NONE # get.mp
-.mq WEB https://www.dom-enic.com/whois.html
+.mq whois.mediaserv.net
.mr NONE # www.nic.mr
.ms whois.nic.ms
.mt WEB https://www.nic.org.mt/dotmt/ # whois.nic.org.mt is restricted
@@ -375,6 +375,7 @@
.xn--mgb9awbf whois.registry.om # Oman
.xn--mgba3a4f16a whois.nic.ir # Iran
.xn--mgbaam7a8h whois.aeda.net.ae # United Arab Emirates
+.xn--mgbai9azgqp6j NONE # Pakistan
.xn--mgbayh7gpa WEB http://idn.jo/whois_a.aspx # Jordan
.xn--mgbbh1a71e whois.inregistry.net # India, Urdu AW
.xn--mgbc0a9azcg NONE # Morocco
diff -Nru whois-5.2.14/utils.c whois-5.2.15/utils.c
--- whois-5.2.14/utils.c 2013-03-30 02:31:41.000000000 +0100
+++ whois-5.2.15/utils.c 2017-02-27 00:37:41.000000000 +0100
@@ -46,7 +46,8 @@
{
char *arg, *argstring;
char **newargs = NULL;
- unsigned int i, num_env = 0;
+ int i;
+ unsigned int num_env = 0;
if (!args)
return argv;
@@ -72,7 +73,7 @@
}
/* Error routines */
-void err_sys(const char *fmt, ...)
+void NORETURN err_sys(const char *fmt, ...)
{
va_list ap;
@@ -83,7 +84,7 @@
exit(2);
}
-void err_quit(const char *fmt, ...)
+void NORETURN err_quit(const char *fmt, ...)
{
va_list ap;
diff -Nru whois-5.2.14/utils.h whois-5.2.15/utils.h
--- whois-5.2.14/utils.h 2016-03-29 05:37:17.000000000 +0200
+++ whois-5.2.15/utils.h 2017-02-27 00:37:41.000000000 +0100
@@ -49,12 +49,15 @@
# define ngettext(a, b, c) ((c==1) ? (a) : (b))
#endif
+#if defined IDN2_VERSION_NUMBER && IDN2_VERSION_NUMBER < 0x00140000
+# define IDN2_NONTRANSITIONAL IDN2_NFC_INPUT
+#endif
/* Prototypes */
void *do_nofail(void *ptr, const char *file, const int line);
char **merge_args(char *args, char *argv[], int *argc);
-void err_quit(const char *fmt, ...) NORETURN;
-void err_sys(const char *fmt, ...) NORETURN;
+void NORETURN err_quit(const char *fmt, ...);
+void NORETURN err_sys(const char *fmt, ...);
#endif
diff -Nru whois-5.2.14/version.h whois-5.2.15/version.h
--- whois-5.2.14/version.h 2016-10-30 18:50:07.000000000 +0100
+++ whois-5.2.15/version.h 2017-02-27 00:37:41.000000000 +0100
@@ -1 +1 @@
-#define VERSION "5.2.13"
+#define VERSION "5.2.15"
diff -Nru whois-5.2.14/whois.c whois-5.2.15/whois.c
--- whois-5.2.14/whois.c 2016-10-30 18:49:57.000000000 +0100
+++ whois-5.2.15/whois.c 2017-02-27 00:37:41.000000000 +0100
@@ -31,7 +31,9 @@
#ifdef HAVE_REGEXEC
#include <regex.h>
#endif
-#ifdef HAVE_LIBIDN
+#ifdef HAVE_LIBIDN2
+#include <idn2.h>
+#elif defined HAVE_LIBIDN
#include <idna.h>
#endif
#ifdef HAVE_INET_PTON
@@ -126,7 +128,8 @@
int longindex;
#endif
- int ch, nopar = 0, fstringlen = 64;
+ int ch, nopar = 0;
+ size_t fstringlen = 64;
const char *server = NULL, *port = NULL;
char *qstring, *fstring;
int ret;
@@ -653,7 +656,7 @@
simple_recode_input_charset = "utf-8"; /* then try UTF-8 */
#endif
-#ifdef HAVE_LIBIDN
+#if defined HAVE_LIBIDN || defined HAVE_LIBIDN2
# define DENIC_PARAM_ACE ",ace"
#else
# define DENIC_PARAM_ACE ""
@@ -939,9 +942,7 @@
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_ADDRCONFIG;
-#ifdef HAVE_LIBIDN
hints.ai_flags |= AI_IDN;
-#endif
if ((err = getaddrinfo(server, port ? port : "nicname", &hints, &res))
!= 0) {
@@ -1050,13 +1051,13 @@
return 0;
}
-void alarm_handler(int signum)
+void NORETURN alarm_handler(int signum)
{
close(sockfd);
err_quit(_("Timeout."));
}
-void sighandler(int signum)
+void NORETURN sighandler(int signum)
{
close(sockfd);
err_quit(_("Interrupted by signal %d..."), signum);
@@ -1133,7 +1134,7 @@
if (in_domain(s, new_gtlds[i]))
return new_gtlds[i];
- return 0;
+ return NULL;
}
/*
@@ -1145,7 +1146,7 @@
char *normalize_domain(const char *dom)
{
char *p, *ret;
-#ifdef HAVE_LIBIDN
+#if defined HAVE_LIBIDN || defined HAVE_LIBIDN2
char *domain_start = NULL;
#endif
@@ -1160,7 +1161,7 @@
p--;
}
-#ifdef HAVE_LIBIDN
+#if defined HAVE_LIBIDN || defined HAVE_LIBIDN2
/* find the start of the last word if there are spaces in the query */
for (p = ret; *p; p++)
if (*p == ' ')
@@ -1170,8 +1171,13 @@
char *q, *r;
int prefix_len;
+#ifdef HAVE_LIBIDN2
+ if (idn2_lookup_ul(domain_start, &q, IDN2_NONTRANSITIONAL) != IDN2_OK)
+ return ret;
+#else
if (idna_to_ascii_lz(domain_start, &q, 0) != IDNA_SUCCESS)
return ret;
+#endif
/* reassemble the original query in a new buffer */
prefix_len = domain_start - ret;
@@ -1186,8 +1192,13 @@
} else {
char *q;
+#ifdef HAVE_LIBIDN2
+ if (idn2_lookup_ul(ret, &q, IDN2_NONTRANSITIONAL) != IDN2_OK)
+ return ret;
+#else
if (idna_to_ascii_lz(ret, &q, 0) != IDNA_SUCCESS)
return ret;
+#endif
free(ret);
return q;
@@ -1232,7 +1243,7 @@
}
/* change the server name to lower case */
- for (p = (char *) *server; *p && *p != '\0'; p++)
+ for (p = (char *) *server; *p; p++)
*p = tolower(*p);
}
@@ -1268,7 +1279,7 @@
}
new = malloc(sizeof("255.255.255.255"));
- sprintf(new, "%d.%d.%d.%d", a >> 8, a & 0xff, b >> 8, b & 0xff);
+ sprintf(new, "%ud.%ud.%ud.%ud", a >> 8, a & 0xff, b >> 8, b & 0xff);
#endif
return new;
@@ -1298,7 +1309,7 @@
a ^= 0xffff;
b ^= 0xffff;
new = malloc(sizeof("255.255.255.255"));
- sprintf(new, "%d.%d.%d.%d", a >> 8, a & 0xff, b >> 8, b & 0xff);
+ sprintf(new, "%ud.%ud.%ud.%ud", a >> 8, a & 0xff, b >> 8, b & 0xff);
#endif
return new;
@@ -1378,7 +1389,7 @@
/* http://www.ripe.net/ripe/docs/databaseref-manual.html */
-void usage(int error)
+void NORETURN usage(int error)
{
fprintf((EXIT_SUCCESS == error) ? stdout : stderr, _(
"Usage: whois [OPTION]... OBJECT...\n\n"
diff -Nru whois-5.2.14/whois.h whois-5.2.15/whois.h
--- whois-5.2.14/whois.h 2015-06-08 02:20:37.000000000 +0200
+++ whois-5.2.15/whois.h 2017-02-27 00:37:41.000000000 +0100
@@ -1,3 +1,5 @@
+#include "utils.h"
+
/* 6bone referto: extension */
#define REFERTO_FORMAT "%% referto: whois -h %255s -p %15s %1021[^\n\r]"
@@ -21,9 +23,9 @@
char *query_afilias(const int, const char *);
int openconn(const char *, const char *);
int connect_with_timeout(int, const struct sockaddr *, socklen_t, int);
-void usage(int error);
-void alarm_handler(int);
-void sighandler(int);
+void NORETURN usage(int error);
+void NORETURN alarm_handler(int);
+void NORETURN sighandler(int);
int japanese_locale(void);
unsigned long myinet_aton(const char *);
unsigned long asn32_to_long(const char *);
--
ciao,
Marco
--- End Message ---