Hello community,

here is the log from the commit of package whois for openSUSE:Factory checked 
in at 2013-12-30 10:47:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/whois (Old)
 and      /work/SRC/openSUSE:Factory/.whois.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "whois"

Changes:
--------
--- /work/SRC/openSUSE:Factory/whois/whois.changes      2013-07-21 
08:13:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.whois.new/whois.changes 2013-12-30 
10:47:10.000000000 +0100
@@ -1,0 +2,16 @@
+Fri Dec 27 21:14:48 UTC 2013 - andreas.stie...@gmx.de
+
+- update to 5.1.0
+ * Added the .ga, .ml, .pf, .xn--l1acc (.МОН, Mongolia) and
+   .xn--mgba3a4f16a (.ﺍیﺭﺎﻧ, Iran) TLD servers.
+ * Added the servers for 54 "new" gTLDs.
+ * Updated the .bw, .gd, .hn, .sb, .xn--j1amh and .xn--mgberp4a5d4ar
+   TLD servers.
+ * Added new RIPE and APNIC ASN allocations.
+ * Removed the .ck TLD server.
+ * Updated one or more translations.
+ * Applied multiple small fixes contributed by Petr Písař of Red Hat.
+ * Correctly hide the disclaimers for .be and .sx.
+ * Direct queries for private ASN blocks to RIPE.
+
+-------------------------------------------------------------------

Old:
----
  whois_5.0.26.tar.xz

New:
----
  whois_5.1.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ whois.spec ++++++
--- /var/tmp/diff_new_pack.Thex9I/_old  2013-12-30 10:47:11.000000000 +0100
+++ /var/tmp/diff_new_pack.Thex9I/_new  2013-12-30 10:47:11.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           whois
-Version:        5.0.26
+Version:        5.1.0
 Release:        0
 Summary:        Intelligent WHOIS client
 License:        GPL-2.0+

++++++ whois.asc ++++++
--- /var/tmp/diff_new_pack.Thex9I/_old  2013-12-30 10:47:12.000000000 +0100
+++ /var/tmp/diff_new_pack.Thex9I/_new  2013-12-30 10:47:12.000000000 +0100
@@ -5,25 +5,25 @@
 Source: whois
 Binary: whois
 Architecture: any
-Version: 5.0.26
+Version: 5.1.0
 Maintainer: Marco d'Itri <m...@linux.it>
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
 Vcs-Browser: https://github.com/rfc1036/whois
 Vcs-Git: git://github.com/rfc1036/whois.git
 Build-Depends: debhelper (>= 5), gettext, libidn11-dev
 Package-List: 
  whois deb net standard
 Checksums-Sha1: 
- d89fb78a39a3d37986a2080220b7edddc1d4d092 72508 whois_5.0.26.tar.xz
+ 390fec4ccca71ac8077ccbd067672ebdc7f7a82c 73596 whois_5.1.0.tar.xz
 Checksums-Sha256: 
- 729625ef81425f4771e06492bb4f3e9f24bff75b8176044ce8d2f605f7ad6af5 72508 
whois_5.0.26.tar.xz
+ f47ccaf2c4d2971a428f132416b332b5875000d0f9791626286c724316fd4e5e 73596 
whois_5.1.0.tar.xz
 Files: 
- 236829eea77e85df2443a54815a1b41d 72508 whois_5.0.26.tar.xz
+ e16cc6ca56a6834ab60ace26215d6b0c 73596 whois_5.1.0.tar.xz
 
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.12 (GNU/Linux)
+Version: GnuPG v1.4.15 (GNU/Linux)
 
-iEYEARECAAYFAlHl0k0ACgkQFGfw2OHuP7EP+gCfQoy1rnQrgQYOTh3DPfO9SdZc
-6xYAn18kDBS0o5zLzBQYbmAZBI73Df6i
-=jP+B
+iEYEARECAAYFAlK8hjcACgkQFGfw2OHuP7EiFgCeOinEBqyrRq7BChEwDZ2M5Dcn
+RjAAoJSMws5HM7yjD7V+QmQlDs86DZ2u
+=XUqE
 -----END PGP SIGNATURE-----

++++++ whois.keyring ++++++
--- /var/tmp/diff_new_pack.Thex9I/_old  2013-12-30 10:47:12.000000000 +0100
+++ /var/tmp/diff_new_pack.Thex9I/_new  2013-12-30 10:47:12.000000000 +0100
@@ -271,14 +271,25 @@
 ag8EkiG2aUAngTxVay2G0oDbCn+yKN0J6mLtIuUU2oI2v6nDAHjE/uSmJneNuzcu
 5vIAUuQTi6VBMbGgTrkLRRb9WuBvXpluijnPZSABmFZgo066gHPa8oIo8e8H4hV8
 XxihUwOujagzXAGcqgYQF+o/GXZ2lrBEHLBR5fRGANzIMaAqJgkIlskQlCkvLJci
-XmpCoYq/I7vGL1wBupMEZsIzG8fDXywPDKZaVyWBYUdCZARAJjPP2wfXvLkBDQQ1
-0vGrEAQAjtdmQUAFpZZ64k00igesbwnV/GSyDrudh0pecv594yCj13WqBDmTxaey
-thTraJENxekXOGfE7RiqwJBCWYl50e8UhlMhOBFnHj79n208ib4YVzr57uV7mBQz
-TTeodVbqiQCWMHCPsyyNHEC2UlEu692XUI+MWfQC43lsb47IMwMAAwUD/R3nZzYG
-QiwchPeB0bsNJadkW8JDPL3QN91fgQNiLdijUSQHJp0KgHFUuyJpQ3OU9pOCg1dh
-gaoutZTl3wPgzOYCkdw6E7B1FdUiWZMWPAji7UQmmG6GijlsdN7u8fgCdXQ6TVMH
-GERO7br+OT/fDrDXhyWJXLdnEOACze/OnbzGiEYEGBECAAYFAjXS8asACgkQFGfw
-2OHuP7GqBACglz1m1ZBrSuxvEVWi5E3XpN/zMW0AnjyyV30xlQ02F/MIh7HNYJVb
-1+4u
-=wCSj
+XmpCoYq/I7vGL1wBupMEZsIzG8fDXywPDKZaVyWBYUdCZARAJjPP2wfXvIkCHAQQ
+AQgABgUCUkEDygAKCRDm//HjjclosC+ED/4wONzV0ItLDyDIfzxKET8A6gbGdjW1
+qJPNobNTfWWHDdxjED2ah62NQoVDIc1e3M3THs3vhswjZe2J68KFf5VBmpyi5DVv
+rRxT5NKrEnSzHVWVJMbjE77CcCj1SCBQVQk9+Jz/K+qwnvwe4twP5O31nQ0PdWRs
+HkhsO5xIyyX3hZHycBqJAqG83i8ln0ua08IYjjbdA/2AbWrvGm4q0gLnwD+JQKVI
+OdDv0YlLWymxJgPTGGP+4V2d9ZTmEKX2aJjXlww/OcejLldcSMF4dx8ShPraWSOV
+GgnALp4AMtugcX7nvXnnj/uXiNRCXaUT3lGjHyVmut1VueA3Uuu0lfR/K3vBCttf
+01OX6ycU3ZnRwtK/sySjMgCpR2jRpS45CsmWl79WJmtLvY9cnoI+xRUNfEBnLr6G
+CQk3/1AW/EnEatGethyCkfnk4WH7TmwTnBIucovdU4x2tvQRm2Evb4JSTfOy3b9s
+UaKw6nKwnREHSaDgK6nuc1X5HpJEWFRwXCezPbhnw7jf7f6sI4pS8kNZIcaKY3aP
+aTgFBHINLIJpGQY4cZycsHIFa7UtjEdt1+1eYPbLGkrmONGVxAlPSrMEC7M9vDQ2
+irnsb8CK2M5ptrHM1Aq+uaDnnN4IGCnZELt8uRwMXCCQh8WrPVuA3VWT5Plg5UUh
+hvj6jfk+9v+SOLkBDQQ10vGrEAQAjtdmQUAFpZZ64k00igesbwnV/GSyDrudh0pe
+cv594yCj13WqBDmTxaeythTraJENxekXOGfE7RiqwJBCWYl50e8UhlMhOBFnHj79
+n208ib4YVzr57uV7mBQzTTeodVbqiQCWMHCPsyyNHEC2UlEu692XUI+MWfQC43ls
+b47IMwMAAwUD/R3nZzYGQiwchPeB0bsNJadkW8JDPL3QN91fgQNiLdijUSQHJp0K
+gHFUuyJpQ3OU9pOCg1dhgaoutZTl3wPgzOYCkdw6E7B1FdUiWZMWPAji7UQmmG6G
+ijlsdN7u8fgCdXQ6TVMHGERO7br+OT/fDrDXhyWJXLdnEOACze/OnbzGiEYEGBEC
+AAYFAjXS8asACgkQFGfw2OHuP7GqBACglz1m1ZBrSuxvEVWi5E3XpN/zMW0Anjyy
+V30xlQ02F/MIh7HNYJVb1+4u
+=8SRT
 -----END PGP PUBLIC KEY BLOCK-----

++++++ whois_5.0.26.tar.xz -> whois_5.1.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/as32_del_list 
new/whois-5.1.0/as32_del_list
--- old/whois-5.0.26/as32_del_list      2013-03-30 02:31:35.000000000 +0100
+++ new/whois-5.1.0/as32_del_list       2013-12-26 09:36:13.000000000 +0100
@@ -8,3 +8,6 @@
 5.0    5.65535 afrinic
 6.0    6.65535 arin
 
+# private ASN block
+4200000000     4294967294      ripe
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/as_del_list new/whois-5.1.0/as_del_list
--- old/whois-5.0.26/as_del_list        2013-06-12 00:45:30.000000000 +0200
+++ new/whois-5.1.0/as_del_list 2013-12-26 09:36:13.000000000 +0100
@@ -69,6 +69,11 @@
 58368  59391   apnic
 59392  61439   ripe
 61440  61951   lacnic
+61952  62463   ripe
+63488  63999   apnic
+
+# private ASN block
+64512  65534   ripe
 
 # catch all: everything else comes from ARIN
 1      63487   arin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/config.h new/whois-5.1.0/config.h
--- old/whois-5.0.26/config.h   2013-07-17 01:06:44.000000000 +0200
+++ new/whois-5.1.0/config.h    2013-12-26 10:04:19.000000000 +0100
@@ -1,5 +1,5 @@
 /* Program version */
-#define VERSION "5.0.26"
+#define VERSION "5.1.0"
 
 /* Configurable features */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/data.h new/whois-5.1.0/data.h
--- old/whois-5.0.26/data.h     2013-03-31 08:10:29.000000000 +0200
+++ new/whois-5.1.0/data.h      2013-12-26 07:48:10.000000000 +0100
@@ -66,7 +66,9 @@
     /* ccTLDs */
     "Access to CCTLD WHOIS information is provided", "",       /* Afilias */
     "Access to ASNIC", "by this policy.",                      /* as */
-    "% The WHOIS service offered", "% of the database",                /* eu */
+    "% The WHOIS service offered by DNS.be", "% protect the privacy", /* be */
+    "% The WHOIS service offered by EURid", "% of the database", /* eu */
+    "% WHOIS LEGAL STATEMENT AND TERMS & CONDITIONS", "",      /* sx */
     "NeuStar, Inc., the Registry", "OF THE AVAILABILITY",      /* us */
 
     NULL, NULL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/debian/changelog 
new/whois-5.1.0/debian/changelog
--- old/whois-5.0.26/debian/changelog   2013-07-17 01:06:44.000000000 +0200
+++ new/whois-5.1.0/debian/changelog    2013-12-26 10:21:24.000000000 +0100
@@ -1,3 +1,19 @@
+whois (5.1.0) unstable; urgency=low
+
+  * Added the .ga, .ml, .pf, .xn--l1acc (.МОН, Mongolia) and
+    .xn--mgba3a4f16a (.ﺍیﺭﺎﻧ, Iran) TLD servers.
+  * Added the servers for 54 "new" gTLDs.
+  * Updated the .bw, .gd, .hn, .sb, .xn--j1amh and .xn--mgberp4a5d4ar
+    TLD servers.
+  * Added new RIPE and APNIC ASN allocations.
+  * Removed the .ck TLD server.
+  * Updated one or more translations.
+  * Applied multiple small fixes contributed by Petr Písař of Red Hat.
+  * Correctly hide the disclaimers for .be and .sx. (Closes: #729366)
+  * Direct queries for private ASN blocks to RIPE. (Closes: #724661)
+
+ -- Marco d'Itri <m...@linux.it>  Thu, 26 Dec 2013 10:05:43 +0100
+
 whois (5.0.26) unstable; urgency=low
 
   * Added the .cf TLD server.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/debian/control 
new/whois-5.1.0/debian/control
--- old/whois-5.0.26/debian/control     2013-04-18 03:29:36.000000000 +0200
+++ new/whois-5.1.0/debian/control      2013-12-26 18:03:01.000000000 +0100
@@ -2,7 +2,7 @@
 Section: net
 Priority: standard
 Maintainer: Marco d'Itri <m...@linux.it>
-Standards-Version: 3.9.4
+Standards-Version: 3.9.5
 Build-Depends: debhelper (>= 5), gettext, libidn11-dev
 Vcs-Git: git://github.com/rfc1036/whois.git
 Vcs-Browser: https://github.com/rfc1036/whois
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/make_as32_del.pl 
new/whois-5.1.0/make_as32_del.pl
--- old/whois-5.0.26/make_as32_del.pl   2013-03-30 02:31:35.000000000 +0100
+++ new/whois-5.1.0/make_as32_del.pl    2013-12-26 09:36:13.000000000 +0100
@@ -9,13 +9,19 @@
        s/\s*#.*$//;
        next if /^$/;
 
-       my ($fh, $fl, $lh, $ll, $s) = 
/^(\d+)\.(\d+)\s+(\d+)\.(\d+)\s+([\w\.-]+)$/;
-       die "format error: $_" unless $s;
+       my ($fh, $fl, $lh, $ll, $s, $f, $l);
+       if (($fh, $fl, $lh, $ll, $s) =
+                       /^(\d+)\.(\d+)\s+(\d+)\.(\d+)\s+([\w\.-]+)$/) {
+               $f = ($fh << 16) + $fl;
+               $l = ($lh << 16) + $ll;
 
-       my $f = ($fh << 16) + $fl;
-       my $l = ($lh << 16) + $ll;
-       my $server = ($s =~ /\./) ? $s : "whois.$s.net";
-
-       print qq({ $f, $l,\t"$server" },\t/* $fh.$fl $lh.$ll */\n);
+               my $server = ($s =~ /\./) ? $s : "whois.$s.net";
+               print qq({ $f, $l,\t"$server" },\t/* $fh.$fl $lh.$ll */\n);
+       } elsif (($f, $l, $s) = /^(\d+)\s+(\d+)\s+([\w\.-]+)$/) {
+               my $server = ($s =~ /\./) ? $s : "whois.$s.net";
+               print qq({ ${f}u, ${l}u,\t"$server" },\n);
+       } else {
+               die "format error: $_";
+       }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/make_tld_serv.pl 
new/whois-5.1.0/make_tld_serv.pl
--- old/whois-5.0.26/make_tld_serv.pl   2013-03-30 02:31:42.000000000 +0100
+++ new/whois-5.1.0/make_tld_serv.pl    2013-12-26 09:57:16.000000000 +0100
@@ -13,7 +13,7 @@
                (my ($a, $b) = /^([\w\d\.-]+)\s+([\w\d\.:-]+|[A-Z]+\s+.*)$/);
 
        $b =~ s/^W(?:EB)?\s+/\\x01/;
-       $b =~ s/^VERISIGN\s+/\\x04/;
+       $b =~ s/^VERISIGN\s+/\\x04" "/;
        $b = "\\x03" if $b eq 'NONE';
        $b = "\\x08" if $b eq 'AFILIAS';
        $b = "\\x0C" if $b eq 'ARPA';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/po/zh_CN.po new/whois-5.1.0/po/zh_CN.po
--- old/whois-5.0.26/po/zh_CN.po        2013-04-18 03:29:36.000000000 +0200
+++ new/whois-5.1.0/po/zh_CN.po 2013-12-26 09:36:13.000000000 +0100
@@ -8,15 +8,16 @@
 "Project-Id-Version: whois\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-04-10 04:23+0200\n"
-"PO-Revision-Date: 2009-10-24 03:59+0000\n"
-"Last-Translator: Feng Liu (Maxim) <maxim...@googlemail.com>\n"
+"PO-Revision-Date: 2013-12-25 17:40+0800\n"
+"Last-Translator: Terence Ng <pheoti...@gmail.com>\n"
 "Language-Team: Chinese (China) <zh...@li.org>\n"
-"Language: \n"
+"Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Launchpad-Export-Date: 2009-11-10 02:44+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Generator: Poedit 1.5.7\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
 
 #: ../whois.c:148
 #, c-format
@@ -27,7 +28,7 @@
 msgstr ""
 "版本 %s。\n"
 "\n"
-"将 bugs 提交到 %s。\n"
+"向 %s 报告漏洞。\n"
 
 #: ../whois.c:202 ../whois.c:255 ../whois.c:261 ../whois.c:291
 #, c-format
@@ -167,6 +168,38 @@
 "-v TYPE                request verbose template for object of TYPE\n"
 "-q [version|sources|types]  query specified server info\n"
 msgstr ""
+"用法: whois 【选项】 …… 对象 …… \n"
+"\n"
+"-h HOST, --host HOST    连接到服务器 HOST\n"
+"-p PORT, --port PORT    连接到端口 PORT\n"
+"-H                      隐藏法律声明 \n"
+"      --verbose         解释正在做什么 \n"
+"      --help            显示帮助并退出 \n"
+"      --version         输出版本信息并退出 \n"
+"\n"
+"这些标志是由 whois.ript.net 和 RIPE-like 服务器支持的: \n"
+" -l                     寻找有更少具体匹配的一个级别 \n"
+"-L                     寻找所有更少具体匹配的级别 \n"
+"-m                   寻找有更加具体匹配的一个级别 \n"
+"-M                   寻找有更加具体的匹配的所有级别 \n"
+"-c                     寻找包含 mnt-irt 属性的最小匹配 \n"
+"-x                     精确匹配 \n"
+"-b                     return brief IP address ranges with abuse contact\n"
+"-B                     关闭对象过滤(显示 email 地址) \n"
+"-G                    关闭相关联对象的分组 \n"
+"-d                     返回 DNS 反解授权对象 \n"
+"-i ATTR[,ATTR]...      对特定的属性( ATTR )进行逆向查询 \n"
+"-T TYPE[,TYPE]...      只寻找 TYPE 的对象 \n"
+"-K                      只返回主键 \n"
+"-r                      关闭联系信息的递归查询 \n"
+"-R                     强制显示域对象的本地副本,即使 \n"
+"                         它包含引用 \n"
+"-a                     一并搜索所有的数据库镜像 \n"
+"-s SOURCE[,SOURCE]...   从 SOURCE 中搜索数据库镜像 \n"
+"-g SOURCE:FIRST-LAST   从串行的 FIRST 到 LAST 的 SOURCE 中查找更新 \n"
+"-t TYPE                 请求 TYPE 对象的模板 \n"
+"-v TYPE                 请求 TYPE 对象的详细模板 \n"
+"-q [version|sources|types]   询问制定服务器信息 \n"
 
 #: ../mkpasswd.c:84
 msgid "standard 56 bit DES-based crypt(3)"
@@ -188,22 +221,19 @@
 msgstr "尝试用 '%s --help' 获取更多的信息。\n"
 
 #: ../mkpasswd.c:242
-#, fuzzy, c-format
+#, c-format
 msgid "Wrong salt length: %d byte when %d expected.\n"
 msgid_plural "Wrong salt length: %d bytes when %d expected.\n"
-msgstr[0] "错误的随机字符(salt) 长度: 当前为 %d 字节,预期长度为 %d 字节。\n"
-msgstr[1] "错误的随机字符(salt) 长度: 当前为 %d 字节,预期长度为 %d 字节。\n"
+msgstr[0] ""
+"错误的随即字符 ( salt ) 长度:当前为 %d 字节,预期长度为 %d 字节。\n"
 
 #: ../mkpasswd.c:247
-#, fuzzy, c-format
+#, c-format
 msgid "Wrong salt length: %d byte when %d <= n <= %d expected.\n"
 msgid_plural "Wrong salt length: %d bytes when %d <= n <= %d expected.\n"
 msgstr[0] ""
 "错误的随机字符(salt) 长度: 当前为 %d 字节,预期长度范围为 %d <= n <= %d 字"
 "节。\n"
-msgstr[1] ""
-"错误的随机字符(salt) 长度: 当前为 %d 字节,预期长度范围为 %d <= n <= %d 字"
-"节。\n"
 
 #: ../mkpasswd.c:256
 #, c-format
@@ -213,7 +243,7 @@
 #: ../mkpasswd.c:306 ../mkpasswd.c:322
 #, c-format
 msgid "Password: "
-msgstr "密码: "
+msgstr "密码:"
 
 #: ../mkpasswd.c:340
 #, c-format
@@ -232,7 +262,7 @@
 "\n"
 
 #: ../mkpasswd.c:422
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "      -m, --method=TYPE     select method TYPE\n"
 "      -5                    like --method=md5\n"
@@ -252,7 +282,7 @@
 msgstr ""
 "      -m, --method=TYPE \t选择使用 TYPE 的方法\n"
 "      -S, --salt=SALT \t\t使用指定随机字符\n"
-"      -R, --rounds=NUMBER \t使用指定的循环次数\n"
+"      -R, --rounds=NUMBER \t使用指定的循环次数 NUMBER \n"
 "      -P, --password-fd=NUM \t从文件描述符 NUM 中读取密码来\n"
 "\t\t\t\t替代从 /dev/tty 中获取密码\n"
 "      -s, --stdin \t\t同 --password-fd=0\n"
@@ -269,73 +299,3 @@
 #, c-format
 msgid "Available methods:\n"
 msgstr "可用方式:\n"
-
-#, fuzzy
-#~ msgid ""
-#~ "Usage: whois [OPTION]... OBJECT...\n"
-#~ "\n"
-#~ "-l                     one level less specific lookup [RPSL only]\n"
-#~ "-L                     find all Less specific matches\n"
-#~ "-m                     find first level more specific matches\n"
-#~ "-M                     find all More specific matches\n"
-#~ "-c                     find the smallest match containing a mnt-irt "
-#~ "attribute\n"
-#~ "-x                     exact match [RPSL only]\n"
-#~ "-d                     return DNS reverse delegation objects too [RPSL "
-#~ "only]\n"
-#~ "-i ATTR[,ATTR]...      do an inverse lookup for specified ATTRibutes\n"
-#~ "-T TYPE[,TYPE]...      only look for objects of TYPE\n"
-#~ "-K                     only primary keys are returned [RPSL only]\n"
-#~ "-r                     turn off recursive lookups for contact "
-#~ "information\n"
-#~ "-R                     force to show local copy of the domain object "
-#~ "even\n"
-#~ "                       if it contains referral\n"
-#~ "-a                     search all databases\n"
-#~ "-s SOURCE[,SOURCE]...  search the database from SOURCE\n"
-#~ "-g SOURCE:FIRST-LAST   find updates from SOURCE from serial FIRST to "
-#~ "LAST\n"
-#~ "-t TYPE                request template for object of TYPE\n"
-#~ "-v TYPE                request verbose template for object of TYPE\n"
-#~ "-q [version|sources|types]  query specified server info [RPSL only]\n"
-#~ "-F                     fast raw output (implies -r)\n"
-#~ "-h HOST                connect to server HOST\n"
-#~ "-p PORT                connect to PORT\n"
-#~ "-H                     hide legal disclaimers\n"
-#~ "      --verbose        explain what is being done\n"
-#~ "      --help           display this help and exit\n"
-#~ "      --version        output version information and exit\n"
-#~ msgstr ""
-#~ "用法: whois [选项]... 对象...\n"
-#~ "\n"
-#~ "-l                     将精确度降低一级的查询 [仅 RPSL]\n"
-#~ "-L                     找到所有低精确度匹配\n"
-#~ "-m                     找到第一级较高精确度匹配\n"
-#~ "-M                     找到所有较高精确度匹配\n"
-#~ "-c                     找到最小的包含一个 mnt-irt 属性的匹配\n"
-#~ "-x                     精确匹配 [仅 RPSL]\n"
-#~ "-d                     同时返回 DNS 反向查询的代理对象[仅 RPSL]\n"
-#~ "-i ATTR[,ATTR]...      为指定的属性(ATTRibutes)进行一次反向查询\n"
-#~ "-T TYPE[,TYPE]...      仅查找指定类型(TYPE)的对象\n"
-#~ "-K                     只返回主键(primary keys) [RPSL only]\n"
-#~ "-r                     查询联系信息(contact information)时关闭递归查询\n"
-#~ "-R                     强制显示本地域名对象(domain object)副本\n"
-#~ "                       即使它包含转介(referral)\n"
-#~ "-a                     搜寻所有数据库\n"
-#~ "-s SOURCE[,SOURCE]...  从指定 SOURCE 中搜寻数据库\n"
-#~ "-g SOURCE:FIRST-LAST   从 SOURCE 中查找更新,按照从开始到结束的序列\n"
-#~ "-t TYPE                为指定类型(TYPE)对象请求模板(template) ('all'为一个"
-#~ "列表)\n"
-#~ "-v TYPE                为指定类型(TYPE)对象请求冗余信息模板(verbose "
-#~ "template) \n"
-#~ "-q [version|sources|types]  查询特定的服务器信息[仅 RPSL]\n"
-#~ "-F                     快速输出原始数据(raw) (隐含 -r)\n"
-#~ "-h HOST                连接到指定 HOST 服务器\n"
-#~ "-p PORT                连接到指定 PORT 端口\n"
-#~ "-H                     隐藏法律声明内容\n"
-#~ "      --verbose        输出冗余的处理信息\n"
-#~ "      --help           显示这个帮助并退出\n"
-#~ "      --version        输出版本信息并退出\n"
-
-#~ msgid "Illegal password character '0x%hhx'.\n"
-#~ msgstr "非法的密码字符 '0x%hhx'。\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/servers_charset_list 
new/whois-5.1.0/servers_charset_list
--- old/whois-5.0.26/servers_charset_list       2013-05-10 05:12:58.000000000 
+0200
+++ new/whois-5.1.0/servers_charset_list        2013-12-26 20:38:15.000000000 
+0100
@@ -1,11 +1,14 @@
 # server name          charset         optional parameters
-whois.corenic.net      utf-8           -C UTF-8
 whois.cat              utf-8           -C UTF-8
+whois.conac.cn         utf-8
+whois.corenic.net      utf-8           -C UTF-8
+whois.online.rs.corenic.net    utf-8   -C UTF-8
+whois.site.rs.corenic.net      utf-8   -C UTF-8
 whois.museum           utf-8           -C UTF-8
 
 whois.aeda.net.ae      utf-8
 whois.ax               iso-8859-1
-whois.nic.br           iso-8859-1
+whois.registro.br      iso-8859-1
 whois.cira.ca          iso-8859-1
 whois.nic.ch           utf-8
 whois.nic.cl           iso-8859-1
@@ -17,7 +20,7 @@
 whois.dk-hostmaster.dk utf-8           --charset=utf-8
 whois.eenet.ee         iso-8859-1
 whois.eu               utf-8
-whois.ficora.fi                iso-8859-1
+whois.fi               iso-8859-1
 whois.nic.fo           utf-8
 whois.nic.fr           utf-8
 whois.hkirc.hk         utf-8
@@ -38,18 +41,25 @@
 whois.dns.lu           iso-8859-1
 whois.nic.mu           utf-8
 whois.norid.no         iso-8859-1
-whois.nic.nu           utf-8
+whois.iis.nu           utf-8
+whois.registry.pf      utf-8
 whois.dns.pt           iso-8859-1
 whois.registry.qa      utf-8
+whois.nic.re           utf-8
 whois.rnids.rs         utf-8
+whois.nic.net.sa       utf-8
 whois.iis.se           utf-8
-whois.nic.net.sg       utf-8
+whois.sgnic.sg         utf-8
 whois.tld.sy           utf-8
 whois.thnic.co.th      utf-8
-whois.nic.tr           utf-8
+whois.ati.tn           windows-1252
+whois.nic.tr           iso-8859-9
 whois.twnic.net.tw     utf-8
+whois.biz.ua           utf-8
+whois.co.ua            utf-8
 whois.pp.ua            utf-8
-whois.tn               windows-1252
 whois.ua               utf-8
 whois.nic.org.uy       utf-8
+whois.nic.wf           utf-8
+whois.nic.yt           utf-8
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/simple_recode.c 
new/whois-5.1.0/simple_recode.c
--- old/whois-5.0.26/simple_recode.c    2013-03-30 02:31:41.000000000 +0100
+++ new/whois-5.1.0/simple_recode.c     2013-12-26 07:48:10.000000000 +0100
@@ -94,6 +94,7 @@
            {
                size_t used = outp - result;
                size_t newsize;
+               char *new_result;
 
                if (outbuf_size < SIMPLE_RECODE_BUFFER_SIZE_2)
                    newsize = SIMPLE_RECODE_BUFFER_SIZE_2;
@@ -103,13 +104,17 @@
 
                /* check if the newsize variable has overflowed */
                if (newsize <= outbuf_size) {
+                   free(result);
                    errno = ENOMEM;
                    return NULL;
                }
                outbuf_size = newsize;
-               result = realloc(result, outbuf_size);
-               if (!result)
+               new_result = realloc(result, outbuf_size);
+               if (!new_result) {
+                   free(result);
                    return NULL;
+               }
+               result = new_result;
 
                /* update the position in the new output stream */
                outp = result + used;
@@ -119,6 +124,7 @@
            }
 
        default:
+           free(result);
            return NULL;
        }
     } while (inbytes_remaining > 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/tld_serv_list 
new/whois-5.1.0/tld_serv_list
--- old/whois-5.0.26/tld_serv_list      2013-07-17 01:06:44.000000000 +0200
+++ new/whois-5.1.0/tld_serv_list       2013-12-26 10:20:10.000000000 +0100
@@ -13,6 +13,7 @@
 .gb.net        whois.centralnic.net
 .gr.com        whois.centralnic.net
 .hu.com        whois.centralnic.net
+.in.net        whois.centralnic.net
 .no.com        whois.centralnic.net
 .qc.com        whois.centralnic.net
 .ru.com        whois.centralnic.net
@@ -27,17 +28,17 @@
 .jpn.com whois.centralnic.net
 .web.com whois.centralnic.net
 
-.com   VERISIGN whois.crsnic.net
+.com   VERISIGN whois.verisign-grs.com
 
 .za.net        whois.za.net
-.net   VERISIGN whois.crsnic.net
+.net   VERISIGN whois.verisign-grs.com
 
 .eu.org        whois.eu.org
 .za.org        whois.za.org
 .org   whois.pir.org
 
-.edu   whois.educause.net
-.gov   whois.nic.gov
+.edu   whois.educause.edu
+.gov   whois.dotgov.gov
 .int   whois.iana.org
 .mil   NONE
 
@@ -47,20 +48,76 @@
 
 .aero  whois.aero
 .asia  whois.nic.asia
-.biz   whois.nic.biz
+.biz   whois.biz
 .cat   whois.cat
 .coop  whois.nic.coop
-.info  whois.afilias.info
+.info  whois.afilias.net
 .jobs  VERISIGN jobswhois.verisign-grs.com
 .mobi  whois.dotmobiregistry.net
 .museum        whois.museum
 .name  whois.nic.name
 .post  whois.dotpostregistry.net
-.pro   whois.registrypro.pro
+.pro   whois.dotproregistry.net
 .tel   whois.nic.tel
 .travel        whois.nic.travel
 .xxx   whois.nic.xxx
 
+# "new" gTLDs
+.academy            whois.donuts.co
+.bike               whois.donuts.co
+.buzz               whois.nic.buzz
+.cab                whois.donuts.co
+.camera             whois.donuts.co
+.camp               whois.donuts.co
+.careers            whois.donuts.co
+.center             whois.donuts.co
+.clothing           whois.donuts.co
+.company            whois.donuts.co
+.computer           whois.donuts.co
+.construction       whois.donuts.co
+.contractors        whois.donuts.co
+.diamonds           whois.donuts.co
+.directory          whois.donuts.co
+.domains            whois.donuts.co
+.enterprises        whois.donuts.co
+.equipment          whois.donuts.co
+.estate             whois.donuts.co
+.gallery            whois.donuts.co
+.graphics           whois.donuts.co
+.guru               whois.donuts.co
+.holdings           whois.donuts.co
+.kitchen            whois.donuts.co
+.land               whois.donuts.co
+.lighting           whois.donuts.co
+.limo               whois.donuts.co
+.management         whois.donuts.co
+.menu               whois.nic.menu
+.photography        whois.donuts.co
+.photos             whois.donuts.co
+.plumbing           whois.donuts.co
+.recipes            whois.donuts.co
+.ruhr               whois.nic.ruhr
+.sexy               whois.uniregistry.net
+.shoes              whois.donuts.co
+.singles            whois.donuts.co
+.support            whois.donuts.co
+.systems            whois.donuts.co
+.tattoo             whois.uniregistry.net
+.technology         whois.donuts.co
+.tips               whois.donuts.co
+.today              whois.donuts.co
+.uno                whois.nic.uno
+.ventures           whois.donuts.co
+.viajes             whois.donuts.co
+.voyage             whois.donuts.co
+.xn--55qw42g        whois.conac.cn
+.xn--80asehdb       whois.online.rs.corenic.net
+.xn--80aswg         whois.site.rs.corenic.net
+.xn--ngbc5azd       whois.nic.xn--ngbc5azd
+.xn--q9jyb4c        domain-registry-whois.l.google.com
+.xn--unup4y         whois.donuts.co
+.xn--zfr164b        whois.conac.cn
+
 .ac    whois.nic.ac
 .ad    NONE            # www.nic.ad
 .ae    whois.aeda.net.ae
@@ -68,7 +125,7 @@
 .ag    whois.nic.ag
 .ai    whois.ai
 .al    NONE            # http://www.akep.al/en/kerkoni-domain
-.am    whois.nic.am
+.am    whois.amnic.net
 .an    NONE            # being phased out. deletion planned for 2014-10-31
 .ao    NONE            # www.dns.ao
 .aq    NONE            # 2day.com
@@ -76,7 +133,7 @@
 .as    whois.nic.as
 .priv.at whois.nic.priv.at     # "unofficial" SLD
 .at    whois.nic.at
-.au    whois.ausregistry.net.au
+.au    whois.audns.net.au
 .aw    NONE            # http://setar.aw/internet/domain-registration.html
 .ax    whois.ax        # www.ax
 .az    WEB http://www.nic.az/
@@ -94,22 +151,22 @@
 .bn    whois.bn        # www.brunet.bn
 .bo    whois.nic.bo
 #.bq
-.br    whois.nic.br
+.br    whois.registro.br
 .bs    WEB http://www.nic.bs/cgi-bin/search.pl
 .bt    WEB http://www.nic.bt/
 .bv    NONE            # http://www.norid.no/domenenavnbaser/bv-sj.html
 .by    whois.cctld.by
-.bw    WEB http://www.whois.bw/
+.bw    whois.nic.net.bw
 .bz    AFILIAS
 .co.ca whois.co.ca
 .ca    whois.cira.ca
-.cc    VERISIGN whois.nic.cc
+.cc    VERISIGN ccwhois.verisign-grs.com
 .cd    whois.nic.cd
 .cf    whois.dot.cf
 .cg    WEB http://www.nic.cg/cgi-bin/whois.pl
 .ch    whois.nic.ch
-.ci    www.nic.ci
-.ck    whois.nic.ck
+.ci    whois.nic.ci
+.ck    NONE
 .cl    whois.nic.cl
 .cm    whois.netcom.cm
 .edu.cn        whois.edu.cn
@@ -137,15 +194,15 @@
 .es    WEB https://www.nic.es/
 .et    NONE    # http://www.ethionet.et/
 .eu    whois.eu
-.fi    whois.ficora.fi
+.fi    whois.fi
 .fj    whois.usp.ac.fj
 .fk    NONE            # http://www.fidc.co.fk/
 .fm    WEB http://dot.fm/whois.html
 .fo    whois.nic.fo
 .fr    whois.nic.fr
-.ga    NONE            # whois.dot.ga NOT ACTIVE YET # www.nic.ga
+.ga    whois.dot.ga    # www.my.ga
 .gb    NONE
-.gd    whois.adamsnames.tc
+.gd    whois.nic.gd
 .ge    WEB http://www.registration.ge/
 .gf    WEB https://www.dom-enic.com/whois.html
 .gg    whois.gg
@@ -164,7 +221,7 @@
 .gy    whois.registry.gy
 .hk    whois.hkirc.hk
 .hm    whois.registry.hm
-.hn    AFILIAS         # www.nic.hn
+.hn    whois.nic.hn
 .hr    whois.dns.hr
 .ht    whois.nic.ht
 .hu    whois.nic.hu
@@ -172,7 +229,7 @@
 .ie    whois.domainregistry.ie
 .il    whois.isoc.org.il
 .im    whois.nic.im
-.in    whois.registry.in       # afilias
+.in    whois.inregistry.net    # afilias
 .io    whois.nic.io
 .iq    whois.cmc.iq            # http://www.cmc.iq/en/iq.html
 .ir    whois.nic.ir
@@ -196,7 +253,7 @@
 .la    whois.nic.la
 .lb    WEB http://www.aub.edu.lb/lbdr/
 .lc    AFILIAS
-.li    whois.nic.ch
+.li    whois.nic.li
 .lk    whois.nic.lk
 .lr    NONE            # http://www.psg.com/dns/lr/
 .ls    WEB http://www.co.ls/co.asp
@@ -207,14 +264,14 @@
 .ma    whois.iam.net.ma # www.nic.ma
 .mc    NONE    # www.nic.mc
 .md    WEB http://www.dns.md/wh1.php # whois.nic.md is restricted
-.me    whois.meregistry.net    # afilias
+.me    whois.nic.me    # afilias
 #.mf
 .mg    whois.nic.mg
 .mh    NONE            # www.nic.net.mh
 .mk    WEB http://dns.marnet.net.mk/registar.php
-.ml    NONE            # whois.dot.ml NOT ACTIVE YET # www.point.ml
+.ml    whois.dot.ml    # www.point.ml
 .mm    NONE            # www.nic.mm
-.mn    AFILIAS
+.mn    whois.nic.mn
 .mo    WEB http://www.monic.net.mo/    # whois.monic.mo is restricted
 .mp    NONE            # get.mp
 .mq    WEB https://www.dom-enic.com/whois.html
@@ -224,11 +281,11 @@
 .mu    whois.nic.mu
 .mv    NONE            # NIC? www.dhiraagu.com.mv
 .mw    WEB http://www.registrar.mw/
-.mx    whois.nic.mx
+.mx    whois.mx
 .my    whois.domainregistry.my
 .mz    NONE            # NIC? www.uem.mz
 .na    whois.na-nic.com.na
-.nc    whois.cctld.nc
+.nc    whois.nc
 .ne    NONE            # NIC? http://www.intnet.ne
 .nf    whois.nic.nf
 .ng    whois.nic.net.ng
@@ -237,18 +294,18 @@
 .no    whois.norid.no
 .np    WEB http://register.mos.com.np/userSearchInc.asp
 .nr    WEB http://www.cenpac.net.nr/dns/whois.html
-.nu    whois.nic.nu
+.nu    whois.iis.nu
 .nz    whois.srs.net.nz
 .om    whois.registry.om
 .pa    WEB http://www.nic.pa/
 .pe    kero.yachay.pe
-.pf    NONE            # http://www.opt.pf/home/
+.pf    whois.registry.pf
 .pg    NONE    # http://www.unitech.ac.pg/
 .ph    WEB http://www.dot.ph/whois
 .pk    WEB http://www.pknic.net.pk/
 .co.pl whois.co.pl     # "unofficial" SLD
 .pl    whois.dns.pl
-.pm    whois.nic.fr
+.pm    whois.nic.pm
 .pn    WEB http://www.pitcairn.pn/PnRegistry/
 .pr    whois.nic.pr
 .ps    whois.pnina.ps
@@ -256,18 +313,18 @@
 .pw    whois.nic.pw
 .py    WEB http://www.nic.py/consultas.html
 .qa    whois.registry.qa
-.re    whois.nic.fr
+.re    whois.nic.re
 .ro    whois.rotld.ro
 .rs    whois.rnids.rs
 .edu.ru        whois.informika.ru
 .ru    whois.tcinet.ru
 .rw    whois.ricta.org.rw      # http://www.ricta.org.rw/
 .sa    whois.nic.net.sa
-.sb    whois.coccaregistry.net
+.sb    whois.nic.sb
 .sc    AFILIAS         # www.nic.sc
 .sd    NONE            # http://isoc.sd/sis/index.php/sd-domain
 .se    whois.iis.se
-.sg    whois.nic.net.sg
+.sg    whois.sgnic.sg
 .sh    whois.nic.sh
 .si    whois.arnes.si
 .sj    NONE            # http://www.norid.no/domenenavnbaser/bv-sj.html
@@ -293,12 +350,12 @@
 .tk    whois.dot.tk
 .tl    whois.nic.tl
 .tm    whois.nic.tm
-.tn    whois.tn
+.tn    whois.ati.tn
 .to    whois.tonic.to
 .tp    NONE                    # phase out in progress
 .tr    whois.nic.tr
 .tt    WEB http://www.nic.tt/cgi-bin/search.pl
-.tv    VERISIGN whois.nic.tv
+.tv    VERISIGN tvwhois.verisign-grs.com
 .tw    whois.twnic.net.tw
 .tz    whois.tznic.or.tz
 .biz.ua        whois.biz.ua
@@ -331,10 +388,10 @@
 .vi    WEB http://www.nic.vi/whoisform.htm
 .vn    WEB http://www.vnnic.vn/en/domain
 .vu    WEB http://www.vunic.vu/whois.html
-.wf    whois.nic.fr
-.ws    whois.samoanic.ws
+.wf    whois.nic.wf
+.ws    whois.website.ws
 .ye    NONE            # NIC? http://www.y.net.ye/services/domain_name.htm
-.yt    whois.nic.fr
+.yt    whois.nic.yt
 .ac.za whois.ac.za
 .alt.za        whois.alt.za
 .co.za whois.registry.net.za
@@ -349,38 +406,40 @@
 # AW means that I had to guess the whois server name, but I was not able
 # to find any registered subdomains to verify it.
 .xn--3e0b707e          whois.kr                # Korea, Republic of
-.xn--45brj9c           whois.registry.in       # India, Bengali AW
+.xn--45brj9c           whois.inregistry.net    # India, Bengali AW
 .xn--80ao21a           whois.nic.kz            # Kazakhstan
 .xn--90a3ac            whois.rnids.rs          # Serbia
-.xn--clchc0ea0b2g2a9gcd        whois.nic.net.sg        # Singapore, Tamil
+.xn--clchc0ea0b2g2a9gcd        whois.sgnic.sg          # Singapore, Tamil
 .xn--fiqs8s            cwhois.cnnic.cn         # China, Simplified Chinese
 .xn--fiqz9s            cwhois.cnnic.cn         # China, Traditional Chinese
-.xn--fpcrj9c3d         whois.registry.in       # India, Telugu AW
+.xn--fpcrj9c3d         whois.inregistry.net    # India, Telugu AW
 .xn--fzc2c9e2c         whois.nic.lk            # Sri Lanka, Sinhala
-.xn--gecrj9c           whois.registry.in       # India, Gujarati AW
-.xn--h2brj9c           whois.registry.in       # India, Hindi AW
-.xn--j1amh             whois.ua                # Ukraine AW
+.xn--gecrj9c           whois.inregistry.net    # India, Gujarati AW
+.xn--h2brj9c           whois.inregistry.net    # India, Hindi AW
+.xn--j1amh             whois.dotukr.com        # Ukraine
 .xn--j6w193g           whois.hkirc.hk          # Hong Kong
 .xn--kprw13d           whois.twnic.net.tw      # Taiwan, Simplified Chinese
 .xn--kpry57d           whois.twnic.net.tw      # Taiwan, Traditional Chinese
+.xn--l1acc             whois.nic.mn            # Mongolia AW
 .xn--lgbbat1ad8j       whois.nic.dz            # Algeria
 .xn--mgb9awbf          whois.registry.om       # Oman AW
+.xn--mgba3a4f16a       whois.nic.ir            # Iran
 .xn--mgbaam7a8h                whois.aeda.net.ae       # United Arab Emirates
 .xn--mgbayh7gpa                WEB http://idn.jo/whois_a.aspx  # Jordan
-.xn--mgbbh1a71e                whois.registry.in       # India, Urdu AW
+.xn--mgbbh1a71e                whois.inregistry.net    # India, Urdu AW
 .xn--mgbc0a9azcg       NONE                    # Morocco
-.xn--mgberp4a5d4ar     WEB http://nic.sa/view/whois    # Saudi Arabia
+.xn--mgberp4a5d4ar     whois.nic.net.sa        # Saudi Arabia
 .xn--mgbx4cd0ab                whois.domainregistry.my # Malaysia AW
 .xn--o3cw4h            whois.thnic.co.th       # Thailand
 .xn--ogbpf8fl          whois.tld.sy            # Syria
 .xn--p1ai              whois.tcinet.ru         # Russian Federation
 .xn--pgbs0dh           NONE                    # Tunisia
-.xn--s9brj9c           whois.registry.in       # India, Punjabi AW
+.xn--s9brj9c           whois.inregistry.net    # India, Punjabi AW
 .xn--wgbh1c            whois.dotmasr.eg        # Egypt
 .xn--wgbl6a            whois.registry.qa       # Qatar
 .xn--xkc2al3hye2a      whois.nic.lk            # Sri Lanka, Tamil
-.xn--xkc2dl3a5ee0h     whois.registry.in       # India, Tamil AW
-.xn--yfro4i67o         whois.nic.net.sg        # Singapore, Chinese
+.xn--xkc2dl3a5ee0h     whois.inregistry.net    # India, Tamil AW
+.xn--yfro4i67o         whois.sgnic.sg          # Singapore, Chinese
 .xn--ygbi2ammx         whois.pnina.ps          # Palestinian Territory
 
 -dom   whois.networksolutions.com
@@ -392,8 +451,7 @@
 -lacnic        whois.lacnic.net
 -afrinic whois.afrinic.net
 -ap    whois.apnic.net
--ar    whois.aunic.net
--cn    whois.cnnic.net.cn
+-cn    whois.cnnic.cn
 -cz    whois.nic.cz
 -dk    whois.dk-hostmaster.dk
 -il    whois.isoc.org.il
@@ -402,18 +460,19 @@
 -ti    whois.telstra.net
 -tw    whois.twnic.net.tw
 -coop  whois.nic.coop
--cknic whois.nic.ck
 -frnic whois.nic.fr
 -gandi whois.gandi.net
 -kenic whois.kenic.or.ke
 -lrms  whois.afilias.info
--metu  whois.metu.edu.tr
+-metu  whois.nic.tr
 -nicat whois.nic.at
+-nicci whois.nic.ci
 -nicir whois.nic.ir
 -norid whois.norid.no
 -rotld whois.rotld.ro
--sgnic whois.nic.net.sg
+-sgnic whois.sgnic.sg
 -tel   whois.nic.tel
 -uanic whois.ua
--uynic www.rau.edu.uy
+-cunic  whois.cunic.ua
+-uynic whois.nic.org.uy
 -sixxs whois.sixxs.net
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/whois.1 new/whois-5.1.0/whois.1
--- old/whois-5.0.26/whois.1    2013-04-10 17:26:47.000000000 +0200
+++ new/whois-5.1.0/whois.1     2013-12-26 07:48:10.000000000 +0100
@@ -131,7 +131,7 @@
 Return the template for a object of \fITYPE\fP.
 .TP 8
 .B \-T TYPE[,TYPE]...
-Restrict the search to objects of \fITYPE\fP. Multiple types are separeted by
+Restrict the search to objects of \fITYPE\fP. Multiple types are separated by
 a comma.
 .TP 8
 .B -v TYPE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/whois.c new/whois-5.1.0/whois.c
--- old/whois-5.0.26/whois.c    2013-04-10 17:26:27.000000000 +0200
+++ new/whois-5.1.0/whois.c     2013-12-26 07:48:10.000000000 +0100
@@ -133,6 +133,7 @@
            break;
        case 'V':
            client_tag = optarg;
+           break;
        case 'H':
            hide_discl = HIDE_NOT_STARTED;      /* enable disclaimers hiding */
            break;
@@ -219,7 +220,7 @@
 int handle_query(const char *hserver, const char *hport,
        const char *query, const char *flags)
 {
-    const char *server = NULL, *port = NULL;
+    char *server = NULL, *port = NULL;
     char *p, *query_string;
 
     if (hport) {
@@ -234,7 +235,7 @@
     switch (server[0]) {
        case 0:
            if (!(server = getenv("WHOIS_SERVER")))
-               server = DEFAULTSERVER;
+               server = strdup(DEFAULTSERVER);
            break;
        case 1:
            puts(_("This TLD has no whois server, but you can access the "
@@ -254,28 +255,33 @@
            if (verb)
                printf(_("Using server %s.\n"), server + 1);
            sockfd = openconn(server + 1, NULL);
+           free(server);
            server = query_crsnic(sockfd, query);
            break;
        case 8:
            if (verb)
                printf(_("Using server %s.\n"), "whois.afilias-grs.info");
            sockfd = openconn("whois.afilias-grs.info", NULL);
+           free(server);
            server = query_afilias(sockfd, query);
            break;
        case 0x0A:
            p = convert_6to4(query);
            printf(_("\nQuerying for the IPv4 endpoint %s of a 6to4 IPv6 
address.\n\n"), p);
+           free(server);
            server = guess_server(p);
            query = p;
            goto retry;
        case 0x0B:
            p = convert_teredo(query);
            printf(_("\nQuerying for the IPv4 endpoint %s of a Teredo IPv6 
address.\n\n"), p);
+           free(server);
            server = guess_server(p);
            query = p;
            goto retry;
        case 0x0C:
            p = convert_inaddr(query);
+           free(server);
            server = guess_server(p);
            free(p);
            goto retry;
@@ -379,9 +385,9 @@
 #endif
 
 /* Parses an user-supplied string and tries to guess the right whois server.
- * Returns a statically allocated buffer.
+ * Returns a dinamically allocated buffer.
  */
-const char *guess_server(const char *s)
+char *guess_server(const char *s)
 {
     unsigned long ip, as32;
     unsigned int i;
@@ -394,45 +400,45 @@
        /* RPSL hierarchical objects */
        if (strncaseeq(s, "as", 2)) {
            if (isasciidigit(s[2]))
-               return whereas(atol(s + 2));
+               return strdup(whereas(atol(s + 2)));
            else
-               return "";
+               return strdup("");
        }
 
        v6prefix = strtol(s, NULL, 16);
 
        if (v6prefix == 0)
-           return "\x05";                      /* unknown */
+           return strdup("\x05");              /* unknown */
 
        v6net = (v6prefix << 16) + strtol(colon + 1, NULL, 16);/* second u16 */
 
        for (i = 0; ip6_assign[i].serv; i++) {
            if ((v6net & (~0UL << (32 - ip6_assign[i].masklen)))
                    == ip6_assign[i].net)
-               return ip6_assign[i].serv;
+               return strdup(ip6_assign[i].serv);
        }
 
-       return "\x06";                  /* unknown allocation */
+       return strdup("\x06");                  /* unknown allocation */
     }
 
     /* email address */
     if (strchr(s, '@'))
-       return "\x05";
+       return strdup("\x05");
 
     /* no dot and no hyphen means it's a NSI NIC handle or ASN (?) */
     if (!strpbrk(s, ".-")) {
        if (strncaseeq(s, "as", 2) &&           /* it's an AS */
                (isasciidigit(s[2]) || s[2] == ' '))
-           return whereas(atol(s + 2));
+           return strdup(whereas(atol(s + 2)));
        if (*s == '!')  /* NSI NIC handle */
-           return "whois.networksolutions.com";
+           return strdup("whois.networksolutions.com");
        else
-           return "\x05";      /* probably a unknown kind of nic handle */
+           return strdup("\x05"); /* probably a unknown kind of nic handle */
     }
 
     /* ASN32? */
     if (strncaseeq(s, "as", 2) && s[2] && (as32 = asn32_to_long(s + 2)) != 0)
-       return whereas32(as32);
+       return strdup(whereas32(as32));
 
     /* smells like an IP? */
 #ifdef HAVE_INET_PTON
@@ -443,28 +449,28 @@
 #endif
        for (i = 0; ip_assign[i].serv; i++)
            if ((ip & ip_assign[i].mask) == ip_assign[i].net)
-               return ip_assign[i].serv;
-       return "\x05";                  /* not in the unicast IPv4 space */
+               return strdup(ip_assign[i].serv);
+       return strdup("\x05");          /* not in the unicast IPv4 space */
     }
 
     /* check the TLDs list */
     for (i = 0; tld_serv[i]; i += 2)
        if (domcmp(s, tld_serv[i]))
-           return tld_serv[i + 1];
+           return strdup(tld_serv[i + 1]);
 
     /* no dot but hyphen */
     if (!strchr(s, '.')) {
        /* search for strings at the start of the word */
        for (i = 0; nic_handles[i]; i += 2)
            if (strncaseeq(s, nic_handles[i], strlen(nic_handles[i])))
-               return nic_handles[i + 1];
+               return strdup(nic_handles[i + 1]);
        /* it's probably a network name */
-       return "";
+       return strdup("");
     }
 
     /* has dot and maybe a hyphen and it's not in tld_serv[], WTF is it? */
     /* either a TLD or a NIC handle we don't know about yet */
-    return "\x05";
+    return strdup("\x05");
 }
 
 const char *whereas32(const unsigned long asn)
@@ -615,7 +621,7 @@
 }
 
 /* returns a string which should be freed by the caller, or NULL */
-const char *do_query(const int sock, const char *query)
+char *do_query(const int sock, const char *query)
 {
     char *temp, *p, buf[2000];
     FILE *fi;
@@ -678,7 +684,7 @@
     return referral_server;
 }
 
-const char *query_crsnic(const int sock, const char *query)
+char *query_crsnic(const int sock, const char *query)
 {
     char *temp, *p, buf[2000];
     FILE *fi;
@@ -728,7 +734,7 @@
     return referral_server;
 }
 
-const char *query_afilias(const int sock, const char *query)
+char *query_afilias(const int sock, const char *query)
 {
     char *temp, *p, buf[2000];
     FILE *fi;
@@ -1008,7 +1014,7 @@
 
 /* server and port have to be freed by the caller */
 void split_server_port(const char *const input,
-       const char **server, const char **port) {
+       char **server, char **port) {
     char *p;
 
     if (*input == '[' && (p = strchr(input, ']'))) {   /* IPv6 */
@@ -1117,7 +1123,7 @@
 {
     char *new;
     char *endptr;
-    unsigned int a, b = 0, c = 0;
+    long int a, b = 0, c = 0;
 
     errno = 0;
 
@@ -1141,7 +1147,7 @@
     }
 
     new = malloc(sizeof("255.255.255.255"));
-    sprintf(new, "%d.%d.%d.0", c, b, a);
+    sprintf(new, "%ld.%ld.%ld.0", c, b, a);
     return new;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/whois.h new/whois-5.1.0/whois.h
--- old/whois-5.0.26/whois.h    2013-04-10 17:25:05.000000000 +0200
+++ new/whois-5.1.0/whois.h     2013-12-26 10:03:05.000000000 +0100
@@ -3,22 +3,21 @@
 
 /* String sent to RIPE servers - MUST NOT BE LONGER THAN FIVE CHARACTERS! */
 /* Do *NOT* change it if you don't know what you are doing! */
-#define IDSTRING "Md5.0"
+#define IDSTRING "Md5.1"
 
 #define HIDE_DISABLED  -2
 #define HIDE_NOT_STARTED -1
 
 /* prototypes */
-const char *guess_server(const char *);
+char *guess_server(const char *);
 const char *match_config_file(const char *);
 const char *whereas(const unsigned long);
 const char *whereas32(const unsigned long);
 char *queryformat(const char *, const char *, const char *);
 int hide_line(int *hiding, const char *const line);
-const char *do_query(const int, const char *);
-const char *query_crsnic(const int, const char *);
-const char *query_pir(const int, const char *);
-const char *query_afilias(const int, const char *);
+char *do_query(const int, const char *);
+char *query_crsnic(const int, const char *);
+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);
@@ -36,8 +35,7 @@
 char *convert_inaddr(const char *);
 int handle_query(const char *server, const char *port,
                   const char *qstring, const char *fstring);
-void split_server_port(const char *const input, const char **server,
-                      const char **port);
+void split_server_port(const char *const input, char **server, char **port);
 
 
 /* flags for RIPE-like servers */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/whois-5.0.26/whois.spec new/whois-5.1.0/whois.spec
--- old/whois-5.0.26/whois.spec 2013-07-17 01:06:44.000000000 +0200
+++ new/whois-5.1.0/whois.spec  2013-12-26 10:04:57.000000000 +0100
@@ -1,6 +1,6 @@
 Summary: Enhanced WHOIS client
 Name: whois
-Version: 5.0.26
+Version: 5.1.0
 Release: 1
 License: GPL
 Vendor: Marco d'Itri <m...@linux.it>

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to