--- /dev/null
+diff -up jwhois-4.0/example/jwhois.conf.orig jwhois-4.0/example/jwhois.conf
+--- jwhois-4.0/example/jwhois.conf.orig 2007-03-26 11:12:08.000000000 +0200
++++ jwhois-4.0/example/jwhois.conf 2010-12-20 14:26:06.450882316 +0100
+@@ -17,6 +17,11 @@ whois-servers {
+ type = regex;
+
+ #
++ # Catch ENUM domains
++ #
++ "\\([0-9]\\.\\)+e164\\.arpa" = "struct enum-blocks";
++
++ #
+ # You can use the special value `struct' to redirect the query
+ # to another block which optionally can use another type of matching.
+ # Here we use it to have IPv4 numbers matched using CIDR blocks instead
+@@ -27,6 +32,7 @@ whois-servers {
+ "^CORE-[0-9]+$" = "struct handles";
+ "^CO[CH]O-[0-9]+$" = "struct handles";
+ ".*-[A-Z]+$" = "struct handles";
++ ".*-6BONE$" = "struct handles";
+
+ #
+ # Catch AS numbers
+@@ -81,6 +87,7 @@ whois-servers {
+ # Pseudo-ccTLDs must be listed above gTLDs
+ #
+ "\\.ae\\.org$" = "whois.centralnic.net";
++ "\\.ar\\.com$" = "whois.centralnic.com";
+ "\\.br\\.com$" = "whois.centralnic.net";
+ "\\.cn\\.com$" = "whois.centralnic.net";
+ "\\.de\\.com$" = "whois.centralnic.net";
+@@ -103,17 +110,30 @@ whois-servers {
+ "\\.uy\\.com$" = "whois.centralnic.net";
+ "\\.web\\.com$" = "whois.centralnic.net";
+ "\\.za\\.com$" = "whois.centralnic.net";
++ "\\.za\\.net$" = "whois.za.net";
++ "\\.za\\.org$" = "whois.za.org";
+
+ "\\.ac$" = "whois.nic.ac";
+- "\\.ae$" = "whois.uaenic.ae";
++ "\\.ae$" = "whois.aeda.net.ae";
++ "\\.co\\.ae$" = "whois.aeda.net.ae";
++ "\\.net\\.ae$" = "whois.aeda.net.ae";
++ "\\.org\\.ae$" = "whois.aeda.net.ae";
++ "\\.sch\\.ae$" = "whois.aeda.net.ae";
++ "\\.ac\\.ae$" = "whois.aeda.net.ae";
++ "\\.mil\\.ae$" = "whois.aeda.net.ae";
++ "\\.gov\\.ae$" = "whois.aeda.net.ae";
++ "\\.1\\.7\\.9\\.e164\\.arpa$" = "whois.aeda.net.ae";
+ "\\.aero$" = "whois.aero";
+- "\\.af$" = "whois.nic.af";
++ "\\.af$" = "whois.cocca.cx";
+ "\\.ag$" = "whois.nic.ag";
+- "\\.ai$" = "whois.offshore.ai";
+- "\\.al$" = "whois.ripe.net";
++ "\\.ai$" = "whois.ai";
++ "\\.al$" = "www.ert.gov.al";
+ "\\.am$" = "whois.amnic.net";
++ "\\.edu\\.ar$" = "www.riu.edu.ar";
+ "\\.ar$" = "www.nic.ar";
++ "\\.arpa$" = "whois.iana.org";
+ "\\.as$" = "whois.nic.as";
++ "\\.asia$" = "whois.nic.asia";
+ "\\.at$" = "whois.nic.at";
+ "\\.asn\\.au$" = "whois.ausregistry.net.au";
+ "\\.com\\.au$" = "whois.ausregistry.net.au";
+@@ -125,30 +145,40 @@ whois-servers {
+ "\\.ba$" = "whois.ripe.net";
+ "\\.be$" = "whois.dns.be";
+ "\\.bg$" = "whois.register.bg";
+- "\\.bi$" = "www.nic.bi";
+- "\\.biz$" = "whois.neulevel.biz";
++ "\\.bi$" = "whois.nic.bi";
++ "\\.biz$" = "whois.biz";
+ "\\.bj$" = "whois.nic.bj";
+ "\\.bm$" = "rwhois.ibl.bm 4321";
++ "\\.bo$" = "whois.nic.bo";
+ "\\.br$" = "whois.nic.br";
++ "\\.bs$" = "www.register.bs";
+ "\\.bv$" = "whois.ripe.net";
+- "\\.by$" = "whois.ripe.net";
++ "\\.by$" = "www.domain.by";
+ "\\.bz$" = "whois.belizenic.bz";
++ "\\.co\\.ca$" = "whois.co.ca";
+ "\\.ca$" = "whois.cira.ca";
+ "\\.cat$" = "whois.cat";
+- "\\.cc$" = "whois.nic.cc";
++ "\\.cc$" {
++ whois-server = "ccwhois.verisign-grs.com";
++ query-format = "domain $*";
++ }
+ "\\.cd$" = "whois.nic.cd";
+ "\\.cg$" = "www.nic.cg";
+ "\\.ch$" = "whois.nic.ch";
+ "\\.ci$" = "whois.nic.ci";
+ "\\.ck$" = "whois.nic.ck";
+ "\\.cl$" = "whois.nic.cl";
++ "\\.co\\.cm$" = "whois.netcom.cm";
++ "\\.com\\.cm$" = "whois.netcom.cm";
++ "\\.net\\.cm$" = "whois.netcom.cm";
+ "\\.edu\\.cn$" = "whois.edu.cn";
+- "\\.cn$" = "whois.cnnic.net.cn";
++ "\\.cn$" = "whois.cnnic.cn";
+ "\\.com$" {
+ whois-server = "whois.verisign-grs.com";
+ query-format = "domain $*";
+ }
+ "\\.coop$" = "whois.nic.coop";
++ "\\.cu$" = "www.nic.cu";
+ "\\.cx$" = "whois.nic.cx";
+ "\\.cy$" = "whois.ripe.net";
+ "\\.cz$" = "whois.nic.cz";
+@@ -156,12 +186,15 @@ whois-servers {
+ whois-server = "whois.denic.de";
+ query-format = "-C UTF-8 -T dn,ace $*";
+ }
+- "\\.dk$" = "whois.dk-hostmaster.dk";
++ "\\.dk$" {
++ whois-server = "whois.dk-hostmaster.dk";
++ query-format = "--show-handles $*";
++ }
+ "\\.dm$" = "whois.nic.dm";
+ "\\.do$" = "whois.nic.do";
+- "\\.dz$" = "whois.ripe.net";
++ "\\.dz$" = "www.nic.dz";
+ "\\.ec$" = "www.nic.ec";
+- "\\.edu$" = "whois.educause.net";
++ "\\.edu$" = "whois.educause.edu";
+ "\\.ee$" = "whois.eenet.ee";
+ "\\.eg$" = "whois.ripe.net";
+ "\\.es$" = "www.nic.es";
+@@ -171,17 +204,20 @@ whois-servers {
+ "\\.fm$" = "www.dot.fm";
+ "\\.fo$" = "whois.ripe.net";
+ "\\.fr$" = "whois.nic.fr";
+- "\\.gi$" = "www.nic.gi";
++ "\\.gd$" = "whois.adamsnames.com";
++ "\\.gi$" = "whois2.afilias-grs.net";
+ "\\.gov$" = "whois.nic.gov";
+- "\\.gg$" = "whois.isles.net";
++ "\\.gg$" = "whois.gg";
+ "\\.gm$" = "whois.ripe.net";
+ "\\.gp$" = "whois.nic.gp";
+ "\\.gr$" = "whois.ripe.net";
+- "\\.gs$" = "203.119.12.22";
++ "\\.gs$" = "whois.nic.gs";
+ "\\.gt$" = "www.gt";
+- "\\.hk$" = "whois.hkdnr.net.hk";
++ "\\.hk$" = "whois.hkirc.hk";
+ "\\.hm$" = "whois.registry.hm";
++ "\\.hn$" = "whois2.afilias-grs.net";
+ "\\.hr$" = "www.dns.hr";
++ "\\.ht$" = "whois.nic.ht";
+ "\\.hu$" = "whois.nic.hu";
+ "\\.id$" = "whois.idnic.net.id";
+ "\\.ie$" = "whois.domainregistry.ie";
+@@ -195,69 +231,94 @@ whois-servers {
+ "\\.is$" = "whois.isnic.is";
+ "\\.it$" = "whois.nic.it";
+ "\\.je$" = "whois.isles.net";
++ "\\.jobs$" {
++ whois-server = "jobswhois.verisign-grs.com";
++ query-format = "domain $*";
++ }
+ "\\.jp$" {
+ whois-server = "whois.jprs.jp";
+ query-format = "$* /e";
+ }
++ "\\.ke$" = "whois.kenic.or.ke";
++ "\\.kp$" = "whois.kcce.kp";
+ "\\.kg$" = "whois.domain.kg";
+- "\\.ki$" = "whois.nic.ki";
++ "\\.ki$" = "whois.cocca.cx";
+ "\\.kr$" = "whois.krnic.net";
+ "\\.kz$" = "whois.nic.kz";
+ "\\.la$" = "whois.nic.la";
+ "\\.lb$" = "cgi.aub.edu.lb";
++ "\\.lc$" = "whois2.afilias-grs.net";
+ "\\.li$" = "whois.nic.li";
+ "\\.lk$" = "whois.nic.lk";
+ "\\.lt$" = "whois.domreg.lt";
+ "\\.lu$" = "whois.dns.lu";
+ "\\.lv$" = "whois.nic.lv";
+ "\\.ly$" = "whois.nic.ly";
+- "\\.ma$" = "whois.ripe.net";
++ "\\.ma$" = "whois.iam.net.ma";
++ "\\.md$" = "whois.nic.md";
++ "\\.me$" = "whois.nic.me";
+ "\\.mil$" = "whois.nic.mil";
+ "\\.mk$" = "whois.ripe.net";
+ "\\.mm$" = "whois.nic.mm";
++ "\\.mn$" = "whois2.afilias-grs.net";
+ "\\.mobi$" = "whois.dotmobiregistry.net";
+- "\\.ms$" = "whois.adamsnames.tc";
+- "\\.mt$" = "www.um.edu.mt";
++ "\\.ms$" = "whois.nic.ms";
++ "\\.mt$" = "whois.nic.org.mt";
+ "\\.mu$" = "whois.nic.mu";
+ "\\.museum$" = "whois.museum";
+ "\\.mw$" = "www.tarsus.net";
+ "\\.mx$" = "whois.nic.mx";
+- "\\.my$" = "whois.mynic.net.my";
++ "\\.my$" = "whois.domainregistry.my";
+ "\\.na$" = "whois.na-nic.com.na";
+- "\\.name$" = "whois.nic.name";
++ "\\.name$" {
++ whois-server = "whois.nic.name";
++ query-format = "domain = $*";
++ }
+ "\\.net$" {
+ whois-server = "whois.verisign-grs.com";
+ query-format = "domain $*";
+ }
+- "\\.ng$" = "whois.rg.net";
++ "\\.nf$" = "whois.cocca.cx";
++ "\\.ng$" = "whois.nic.net.ng";
+ "\\.nl$" = "whois.domain-registry.nl";
+ "\\.no$" = "whois.norid.no";
+ "\\.nu$" = "whois.nic.nu";
+ "\\.nz$" = "whois.srs.net.nz";
+ "\\.org$" = "whois.publicinterestregistry.net";
+- "\\.pe$" = "whois.nic.pe";
++ "\\.pa$" = "www.nic.pa";
++ "\\.pe$" = "kero.yachay.pe";
+ "\\.pk$" = "pknic.net.pk";
+ "\\.pl$" = "whois.dns.pl";
+ "\\.pm$" = "whois.nic.pm";
++ "\\.pr$" = "whois.nic.pr";
+ "\\.pro$" = "whois.registrypro.pro";
++ "\\.ps$" = "www.nic.ps";
+ "\\.pt$" = "whois.dns.pt";
+ "\\.pw$" = "whois.nic.pw";
+ "\\.re$" = "whois.nic.re";
+ "\\.ro$" = "whois.rotld.ro";
++ "\\.edu\.ru$" = "whois.informika.ru";
+ "\\.ru$" = "whois.ripn.net";
+ "\\.rw$" = "www.nic.rw";
+ "\\.sa$" = "saudinic.net.sa";
++ "\\.sb$" = "whois.nic.sb";
++ "\\.sc$" = "whois2.afilias-grs.net";
+ "\\.se$" = "whois.iis.se";
+- "\\.sg$" = "whois.nic.net.sg";
++ "\\.sg$" = "whois.sgnic.sg";
+ "\\.sh$" = "whois.nic.sh";
+ "\\.si$" = "whois.arnes.si";
+ "\\.sj$" = "whois.ripe.net";
+- "\\.sk$" = "whois.ripe.net";
++ "\\.sk$" = "whois.sk-nic.sk";
++ "\\.sl$" = "whois.nic.sl";
+ "\\.sm$" = "whois.ripe.net";
++ "\\.sn$" = "whois.nic.sn";
++ "\\.so$" = "whois.nic.so";
+ "\\.sr$" = "whois.register.sr";
+ "\\.st$" = "whois.nic.st";
+ "\\.su$" = "whois.ripn.net";
++ "\\.sv$" = "www.svnet.org.sv";
+ "\\.tc$" = "whois.adamsnames.tc";
++ "\\.tel$" = "whois.nic.tel";
+ "\\.tf$" = "whois.afnic.fr";
+ "\\.tg$" = "www.nic.tg";
+ "\\.th$" = "whois.thnic.net";
+@@ -268,8 +329,12 @@ whois-servers {
+ "\\.tn$" = "whois.ripe.net";
+ "\\.to$" = "whois.tonic.to";
+ "\\.tr$" = "whois.nic.tr";
++ "\\.travel$" = "whois.nic.travel";
+ "\\.tt$" = "www.nic.tt";
+- "\\.tv$" = "whois.nic.tv";
++ "\\.tv$" {
++ whois-server = "tvwhois.verisign-grs.com";
++ query-format = "domain $*";
++ }
+ "\\.tw$" = "whois.twnic.net";
+ "\\.ua$" = "whois.com.ua";
+ "\\.ug$" = "whois.co.ug";
+@@ -279,9 +344,12 @@ whois-servers {
+ "\\.fed\\.us$" = "whois.nic.gov";
+ "\\.us$" = "whois.nic.us";
+ "\\.com\\.uy$" = "dns.antel.net.uy";
+- "\\.uy$" = "www.rau.edu.uy"; # is a whois server
+- "\\.uz$" = "www.noc.uz";
++ "\\.uy$" = "whois.nic.org.uy";
++ "\\.co\\.uz$" = "whois.reg.uz";
++ "\\.com\\.uz$" = "whois.reg.uz";
++ "\\.uz$" = "whois.cctld.uz";
+ "\\.va$" = "whois.ripe.net";
++ "\\.vc$" = "whois2.afilias-grs.net";
+ "\\.ve$" = "whois.nic.ve";
+ "\\.vi$" = "www.nic.vi";
+ "\\.vg$" = "whois.adamsnames.tc";
+@@ -289,12 +357,15 @@ whois-servers {
+ "\\.vu$" = "www.vunic.vu";
+ "\\.wf$" = "whois.nic.wf";
+ "\\.ws$" = "whois.worldsite.ws";
++ "\\.xn--mgbaam7a8h$" = "whois.aeda.net.ae";
+ "\\.yt$" = "whois.nic.yt";
+- "\\.yu$" = "whois.ripe.net";
++ "\\.yu$" = "www.nic.yu";
+ "\\.ac\\.za$" = "whois.ac.za";
+ "\\.org\\.za$" = "rwhois.org.za 4321";
+ "\\.co\\.za$" = "whois.co.za";
++ "\\.nom\\.za$" = "www.nom.za";
+ # "\\.za$" = "whois.frd.ac.za";
++ "\\.co\\.zw$" = "www.zispa.co.zw";
+
+ #
+ # Specify different port numbers to connect to by postfixing the IP
+@@ -311,6 +382,16 @@ whois-servers {
+ }
+
+ #
++# enum-blocks
++#
++enum-blocks {
++ type = regex;
++
++ "\\.9\\.4\\.e164\\.arpa$" = "whois.enum.denic.de";
++ "\\.1\\.6\\.e164\\.arpa$" = "whois-check.enum.com.au";
++}
++
++#
+ # cidr-blocks contains a list of all known CIDR blocks assigned to
+ # RIPE or APNIC. Default all queries to ARIN which has most other blocks.
+ #
+@@ -580,7 +661,7 @@ cidr-blocks {
+ cidr6-blocks {
+ type = cidr6;
+
+- "2001:0000::/23" = "whois.iana.org";
++ "2001:0000::/23" = "whois.iana.org"; # correct, but nothing usable is returned
+ "2001:0200::/23" = "whois.apnic.net";
+ "2001:0400::/23" = "whois.arin.net";
+ "2001:0600::/23" = "whois.ripe.net";
+@@ -593,13 +674,13 @@ cidr6-blocks {
+ "2001:1600::/23" = "whois.ripe.net";
+ "2001:1800::/23" = "whois.arin.net";
+ "2001:1A00::/23" = "whois.ripe.net";
+- "2001:1C00::/23" = "whois.ripe.net";
+- "2001:1E00::/23" = "whois.ripe.net";
++ "2001:1C00::/22" = "whois.ripe.net";
+ "2001:2000::/20" = "whois.ripe.net";
+ "2001:3000::/21" = "whois.ripe.net";
+ "2001:3800::/22" = "whois.ripe.net";
++ "2001:3C00::/22" = "whois.arin.net"; # not correct, but shows better information
+ "2001:4000::/23" = "whois.ripe.net";
+- "2001:4200::/23" = "whois.arin.net";
++ "2001:4200::/23" = "whois.afrinic.net";
+ "2001:4400::/23" = "whois.apnic.net";
+ "2001:4600::/23" = "whois.ripe.net";
+ "2001:4800::/23" = "whois.arin.net";
+@@ -610,23 +691,47 @@ cidr6-blocks {
+ "2001:A000::/20" = "whois.apnic.net";
+ "2001:B000::/20" = "whois.apnic.net";
+
++ "2002:0000::/16" = "whois.arin.net"; # not correct, but shows better information
++
+ "2003:0000::/18" = "whois.ripe.net";
+
+- "2400:0000::/19" = "whois.apnic.net";
+- "2400:2000::/19" = "whois.apnic.net";
+- "2400:4000::/21" = "whois.apnic.net";
+- "2404:0000::/23" = "whois.apnic.net";
+-
+- "2600:0000::/22" = "whois.arin.net";
+- "2604:0000::/22" = "whois.arin.net";
+- "2608:0000::/22" = "whois.arin.net";
+- "260C:0000::/22" = "whois.arin.net";
++ "2400:0000::/12" = "whois.apnic.net";
++
++ "2600:0000::/12" = "whois.arin.net";
+ "2610:0000::/23" = "whois.arin.net";
++ "2620:0000::/23" = "whois.arin.net";
++
++ "2800:0000::/12" = "whois.lacnic.net";
+
+- "2800:0000::/23" = "whois.lacnic.net";
++ "2C00:0000::/12" = "whois.afrinic.net";
+
+- "2A00:0000::/21" = "whois.ripe.net";
+- "2A01:0000::/16" = "whois.ripe.net";
++ #
++ # IPv6 blocks by carriers used for SixXS;
++ # see e.g. http://www.sixxs.net/pops/
++ #
++ "2001:0610::/32" = "whois.sixxs.net";
++ "2001:06A0::/32" = "whois.sixxs.net";
++ "2001:06A8::/32" = "whois.sixxs.net";
++ "2001:06F8::/32" = "whois.sixxs.net";
++ "2001:0770::/32" = "whois.sixxs.net";
++ "2001:07B8::/32" = "whois.sixxs.net";
++ "2001:0808::/32" = "whois.sixxs.net";
++ "2001:0838::/32" = "whois.sixxs.net";
++ "2001:0960::/32" = "whois.sixxs.net";
++ "2001:0A60::/32" = "whois.sixxs.net";
++ "2001:0AD0::/32" = "whois.sixxs.net";
++ "2001:0B18::/32" = "whois.sixxs.net";
++ "2001:1418::/32" = "whois.sixxs.net";
++ "2001:14B8::/32" = "whois.sixxs.net";
++ "2001:15C0::/32" = "whois.sixxs.net";
++ "2001:16D8::/32" = "whois.sixxs.net";
++ "2001:1938::/32" = "whois.sixxs.net";
++ "2001:4830::/32" = "whois.sixxs.net";
++ "2001:4978::/32" = "whois.sixxs.net";
++ "2001:41E0::/32" = "whois.sixxs.net";
++ "2001:4428::/32" = "whois.sixxs.net";
++ "2A01:0198::/32" = "whois.sixxs.net";
++ "2A01:0348::/32" = "whois.sixxs.net";
+
+ #
+ # Experimental IPv6 network 6bone (RFC2471)
+@@ -662,7 +767,7 @@ handles {
+ ".*-NICAT$" = "whois.nic.at";
+ ".*-CZ$" = "whois.nic.cz";
+ ".*-NICIR$" = "whois.nic.ir";
+- ".*-UYNIC$" = "www.rau.edu.uy";
++ ".*-UYNIC$" = "whois.nic.org.uy";
+ ".*-ITNIC$" = "whois.nic.it";
+ ".*-FRNIC$" = "whois.nic.fr";
+ ".*-LACNIC$" = "whois.lacnic.net";
+@@ -671,6 +776,49 @@ handles {
+ whois-server = "saudinic.net.sa";
+ query-format = "PERSON $*";
+ }
++ ".*-SIXXS$" = "whois.sixxs.net";
++ ".*-6BONE$" = "whois.6bone.net";
++ ".*-IRNIC$" = "whois.nic.ir";
++ ".*-RIPN$" = "whois.ripn.net";
++ ".*-AFRINIC$" = "whois.afrinic.net";
++ "^C[0-9]+-LRMS$" {
++ whois-server = "whois.afilias.info";
++ query-format = "CONTACT ID $*";
++ }
++ "^D[0-9]+-LRMS$" {
++ whois-server = "whois.afilias.info";
++ query-format = "DOMAIN ID $*";
++ }
++ "^H[0-9]+-LRMS$" {
++ whois-server = "whois.afilias.info";
++ query-format = "HOST ID $*";
++ }
++ "^R[0-9]+-LRMS$" {
++ whois-server = "whois.afilias.info";
++ query-format = "REGISTRAR ID $*";
++ }
++ ".*-KENIC$" = "whois.kenic.or.ke";
++ ".*-UANIC$" = "whois.com.ua";
++ ".*-COOP$" {
++ whois-server = "whois.nic.coop";
++ query-format = "CONTACT $*";
++ }
++ ".*CONTACT-NAME$" {
++ whois-server = "whois.nic.name";
++ query-format = "contact = $*";
++ }
++ ".*REGISTRAR-NAME$" {
++ whois-server = "whois.nic.name";
++ query-format = "registrar = $*";
++ }
++ "^C[0-9]+-AERO$" {
++ whois-server = "whois.aero";
++ query-format = "CONTACT ID $*";
++ }
++ "^D[0-9]+-AERO$" {
++ whois-server = "whois.aero";
++ query-format = "DOMAIN ID $*";
++ }
+ }
+
+ #
+@@ -678,11 +826,6 @@ handles {
+ # each host.
+ #
+ server-options {
+- "rwhois\\.nic\\.ve" {
+- rwhois = true;
+- rwhois-display = "dump";
+- rwhois-limit = 10;
+- }
+ "rwhois\\.exodus\\.net" {
+ rwhois = true;
+ }
+@@ -754,13 +897,6 @@ server-options {
+ form-element = "name";
+ }
+
+- "www\\.um\\.edu\\.mt" {
+- http = "true";
+- http-method = "GET";
+- http-action = "/cgi-bin/nic/whois";
+- form-element = "domain";
+- }
+-
+ "www\\.gt" {
+ http = "true";
+ http-method = "GET";
+@@ -777,13 +913,6 @@ server-options {
+ query-format = "Upit=${+2}"; # All but last domain segment
+ }
+
+- "whois\\.offshore\\.ai" {
+- http = "true";
+- http-method = "POST";
+- http-action = "/cgi-bin/whois.pl";
+- form-element = "domain-name";
+- }
+-
+ "www\\.io\\.io" {
+ http = "true";
+ http-method = "GET";
+@@ -813,11 +942,12 @@ server-options {
+ form-element = "query";
+ }
+
+- "www\\.nic\\.bi" {
+- http = "true";
+- http-method = "POST";
+- http-action = "/cgi-bin/whoisbi.pl"; # Formatting problems in Lynx
+- form-element = "DOMAINWHOIS";
++ "whois\\.nic\\.bi" {
++ http = "true"; # I can't connect on port 43
++ http-method = "GET";
++ http-action = "/register/whois.hei";
++ form-element = "query";
++ form-extra = "type=domain";
+ }
+
+ "www\\.nic\\.cg" {
+@@ -848,13 +978,6 @@ server-options {
+ form-element = "name";
+ }
+
+- "www\\.noc\\.uz" {
+- http = "true";
+- http-method = "POST";
+- http-action = "/whois.php4";
+- form-element = "dname";
+- }
+-
+ "www\\.nic\\.vi" {
+ http = "true";
+ http-method = "POST";
+@@ -878,9 +1001,9 @@ server-options {
+
+ "www\\.nic\\.tg" {
+ http = "true";
+- http-method = "GET";
+- http-action = "/moteur/info_dom.php";
+- form-element = "domaine";
++ http-method = "POST";
++ http-action = "/nictg/indexplus.php?pg=verifdom&op=whois";
++ query-format = "tosearch=${+2}&typedom=.tg";
+ }
+
+ "cgi\\.aub\\.edu\\.lb" {
+@@ -910,33 +1033,152 @@ server-options {
+ form-element = "nombre";
+ }
+
+- "www\\.denic\\.de" {
+- http = "true";
+- http-method = "POST";
+- http-action = "/en/whois/data.jsp";
+- form-element = "domainname";
+- form-extra = "service=WhoisData&lang=en&submit=Accept";
+- }
+ "whois\\.denic\\.de" {
+ whois-server = "whois.denic.de";
+ query-format = "-C UTF-8 -T dn,ace $*";
+ answer-charset = "UTF-8";
+ }
++
++ "whois\\.enum\\.denic\\.de" {
++ whois-server = "whois.enum.denic.de";
++ query-format = "-C UTF-8 -T dn $*";
++ answer-charset = "UTF-8";
++ }
++
+ "whois\\.nic\\.ad\\.jp" {
+ query-format = "$*/e";
+ }
++
+ "whois\\.nic\\.ch" {
+ answer-charset = "UTF-8";
+ }
++
+ "whois\\.nic\\.li" {
+ answer-charset = "UTF-8";
+ }
++
+ "whois\\.centralnic\\.*" {
+ whois-redirect = ".*Whois Server: \\(.*\\)";
+ }
++
+ ".*\\.verisign-grs\\.com" {
+ whois-redirect = ".*Whois Server: \\(.*\\)";
+ }
++
++ "whois\\.sixxs\\.net" {
++ whois-redirect = ".*ReferralServer: whois:\/\/\\(.*\\)";
++ }
++
++ "whois2\\.afilias-grs\\.net" {
++ whois-redirect = "Whois Server:\\(.*\\)";
++ }
++
++ "whois\\.registrar\\.telekom\\.de" {
++ query-format = "full $*";
++ }
++
++ "whois\\.rrpproxy\\.net" {
++ answer-charset = "UTF-8";
++ }
++
++ "www\\.nom\\.za" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/do.php";
++ query-format = "chkDomain=${+3}&chkAvail=Check";
++ }
++
++ "www\\.nic\\.pa" {
++ http = "true";
++ http-method = "GET";
++ http-action = "/egh/whois.php";
++ form-element = "nombre_d";
++ }
++
++ "www\\.nic\\.dz" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/index.php?option=com_content&task=view&id=37&Itemid=51";
++ form-element = "domain_name";
++ }
++
++ "www\\.nic\\.yu" {
++ http = "true";
++ http-method = "GET";
++ http-action = "/cgi-bin/checkavail.cgi";
++ form-element = "domain";
++ }
++
++ "whois\\.dotster\\.com" {
++ answer-charset = "UTF-8";
++ }
++
++ "www\\.ert\\.gov\\.al" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/ert_eng/domain_res.html";
++ query-format = "Domain=${+2}";
++ }
++
++ "www\\.nic\\.cu" {
++ http = "true";
++ http-method = "GET";
++ http-action = "/dom_det.php";
++ form-element = "domsrch";
++ }
++
++ "www\\.nic\\.ps" {
++ http = "true";
++ http-method = "GET";
++ http-action = "/whois/domain_whois.php";
++ form-element = "dname";
++ }
++
++ "www\\.svnet\\.org\\.sv" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/registro/consultas/whois.php";
++ form-element = "subdominio";
++ }
++
++ "www\\.zispa\\.co\\.zw" {
++ http = "true";
++ http-method = "GET";
++ http-action = "/cgi-bin/search";
++ form-element = "domain";
++ }
++
++ "www\\.riu\\.edu\\.ar" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/cgi-bin/verdom.pl.nuevo";
++ query-format = "username=${+3}";
++ }
++
++ "www\\.register\\.bs" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/cgi-bin/search.pl";
++ form-element = "name";
++ }
++
++ "www\\.domain\\.by" {
++ http = "true";
++ http-method = "POST";
++ http-action = "/cgi-bin/registry.cgi";
++ query-format = "domain=${+2}&lang=e&mode=slquest";
++ }
++
++ "www\\.nic\\.ac" {
++ http = "true";
++ http-method = "GET";
++ http-action = "/cgi-bin/whois";
++ form-element = "textfield";
++ }
++
++ "whois\\.1api\\.net" {
++ answer-charset = "UTF-8";
++ }
+ }
+
+ #
--- /dev/null
+Patch by Robert Scheck <robert@fedoraproject.org> for jwhois >= 4.0, which adds various new
+IDN top-level-domains, updates some whois servers of ccTLDs and corrects the answer charset
+setting for some whois servers, too.
+
+--- jwhois-4.0/example/jwhois.conf 2011-05-22 20:36:19.000000000 +0200
++++ jwhois-4.0/example/jwhois.conf.conf_update2 2011-05-22 23:46:21.000000000 +0200
+@@ -122,7 +122,6 @@
+ "\\.ac\\.ae$" = "whois.aeda.net.ae";
+ "\\.mil\\.ae$" = "whois.aeda.net.ae";
+ "\\.gov\\.ae$" = "whois.aeda.net.ae";
+- "\\.1\\.7\\.9\\.e164\\.arpa$" = "whois.aeda.net.ae";
+ "\\.aero$" = "whois.aero";
+ "\\.af$" = "whois.cocca.cx";
+ "\\.ag$" = "whois.nic.ag";
+@@ -192,7 +191,7 @@
+ }
+ "\\.dm$" = "whois.nic.dm";
+ "\\.do$" = "whois.nic.do";
+- "\\.dz$" = "www.nic.dz";
++ "\\.dz$" = "whois.nic.dz";
+ "\\.ec$" = "www.nic.ec";
+ "\\.edu$" = "whois.educause.edu";
+ "\\.ee$" = "whois.eenet.ee";
+@@ -243,7 +242,7 @@
+ "\\.kp$" = "whois.kcce.kp";
+ "\\.kg$" = "whois.domain.kg";
+ "\\.ki$" = "whois.cocca.cx";
+- "\\.kr$" = "whois.krnic.net";
++ "\\.kr$" = "whois.kr";
+ "\\.kz$" = "whois.nic.kz";
+ "\\.la$" = "whois.nic.la";
+ "\\.lb$" = "cgi.aub.edu.lb";
+@@ -292,13 +291,14 @@
+ "\\.pm$" = "whois.nic.pm";
+ "\\.pr$" = "whois.nic.pr";
+ "\\.pro$" = "whois.registrypro.pro";
+- "\\.ps$" = "www.nic.ps";
++ "\\.ps$" = "whois.pnina.ps";
+ "\\.pt$" = "whois.dns.pt";
+ "\\.pw$" = "whois.nic.pw";
+ "\\.re$" = "whois.nic.re";
+ "\\.ro$" = "whois.rotld.ro";
++ "\\.rs$" = "whois.rnids.rs";
+ "\\.edu\.ru$" = "whois.informika.ru";
+- "\\.ru$" = "whois.ripn.net";
++ "\\.ru$" = "whois.tcinet.ru";
+ "\\.rw$" = "www.nic.rw";
+ "\\.sa$" = "saudinic.net.sa";
+ "\\.sb$" = "whois.nic.sb";
+@@ -317,6 +317,7 @@
+ "\\.st$" = "whois.nic.st";
+ "\\.su$" = "whois.ripn.net";
+ "\\.sv$" = "www.svnet.org.sv";
++ "\\.sy$" = "whois.tld.sy";
+ "\\.tc$" = "whois.adamsnames.tc";
+ "\\.tel$" = "whois.nic.tel";
+ "\\.tf$" = "whois.afnic.fr";
+@@ -335,7 +336,7 @@
+ whois-server = "tvwhois.verisign-grs.com";
+ query-format = "domain $*";
+ }
+- "\\.tw$" = "whois.twnic.net";
++ "\\.tw$" = "whois.twnic.net.tw";
+ "\\.ua$" = "whois.com.ua";
+ "\\.ug$" = "whois.co.ug";
+ "\\.ac\\.uk$" = "whois.ja.net";
+@@ -357,9 +358,25 @@
+ "\\.vu$" = "www.vunic.vu";
+ "\\.wf$" = "whois.nic.wf";
+ "\\.ws$" = "whois.worldsite.ws";
++ "\\.xn--3e0b707e$" = "whois.kr";
++ "\\.xn--90a3ac$" = "whois.rnids.rs";
++ "\\.xn--clchc0ea0b2g2a9gcd$" = "whois.sgnic.sg";
++ "\\.xn--fiqs8s$" = "cwhois.cnnic.cn";
++ "\\.xn--fiqz9s$" = "cwhois.cnnic.cn";
++ "\\.xn--fzc2c9e2c$" = "whois.nic.lk";
++ "\\.xn--j6w193g$" = "whois.hkirc.hk";
++ "\\.xn--kprw13d$" = "whois.twnic.net.tw";
++ "\\.xn--kpry57d$" = "whois.twnic.net.tw";
++ "\\.xn--lgbbat1ad8j$" = "whois.nic.dz";
+ "\\.xn--mgbaam7a8h$" = "whois.aeda.net.ae";
++ "\\.xn--mgberp4a5d4ar$" = "whois.nic.net.sa";
++ "\\.xn--o3cw4h$" = "whois.thnic.co.th";
++ "\\.xn--ogbpf8fl$" = "whois.tld.sy";
++ "\\.xn--p1ai$" = "whois.tcinet.ru";
++ "\\.xn--xkc2al3hye2a$" = "whois.nic.lk";
++ "\\.xn--yfro4i67o$" = "whois.sgnic.sg";
++ "\\.xn--ygbi2ammx$" = "whois.pnina.ps";
+ "\\.yt$" = "whois.nic.yt";
+- "\\.yu$" = "www.nic.yu";
+ "\\.ac\\.za$" = "whois.ac.za";
+ "\\.org\\.za$" = "rwhois.org.za 4321";
+ "\\.co\\.za$" = "whois.co.za";
+@@ -389,6 +406,7 @@
+
+ "\\.9\\.4\\.e164\\.arpa$" = "whois.enum.denic.de";
+ "\\.1\\.6\\.e164\\.arpa$" = "whois-check.enum.com.au";
++ "\\.1\\.7\\.9\\.e164\\.arpa$" = "whois.aeda.net.ae";
+ }
+
+ #
+@@ -1095,20 +1113,6 @@
+ form-element = "nombre_d";
+ }
+
+- "www\\.nic\\.dz" {
+- http = "true";
+- http-method = "POST";
+- http-action = "/index.php?option=com_content&task=view&id=37&Itemid=51";
+- form-element = "domain_name";
+- }
+-
+- "www\\.nic\\.yu" {
+- http = "true";
+- http-method = "GET";
+- http-action = "/cgi-bin/checkavail.cgi";
+- form-element = "domain";
+- }
+-
+ "whois\\.dotster\\.com" {
+ answer-charset = "UTF-8";
+ }
+@@ -1127,13 +1131,6 @@
+ form-element = "domsrch";
+ }
+
+- "www\\.nic\\.ps" {
+- http = "true";
+- http-method = "GET";
+- http-action = "/whois/domain_whois.php";
+- form-element = "dname";
+- }
+-
+ "www\\.svnet\\.org\\.sv" {
+ http = "true";
+ http-method = "POST";
+@@ -1179,6 +1176,26 @@
+ "whois\\.1api\\.net" {
+ answer-charset = "UTF-8";
+ }
++
++ "whois\\.kr" {
++ answer-charset = "EUC-KR";
++ }
++
++ "whois\\.nic\\.or\\.kr" {
++ answer-charset = "EUC-KR";
++ }
++
++ "whois\\.nic\\.dz" {
++ answer-charset = "UTF-8";
++ }
++
++ "whois\\.nic\\.lk" {
++ answer-charset = "ISO-8859-11";
++ }
++
++ "whois\\.iana\\.org" {
++ answer-charset = "UTF-8";
++ }
+ }
+
+ #