Created
November 30, 2011 20:38
-
-
Save rmoriz/1410716 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff -ur unpatched/jwhois-4.0/example/jwhois.conf redhat-patched/jwhois-4.0/example/jwhois.conf | |
| --- unpatched/jwhois-4.0/example/jwhois.conf 2007-03-26 11:12:08.000000000 +0200 | |
| +++ redhat-patched/jwhois-4.0/example/jwhois.conf 2011-11-30 21:35:57.000000000 +0100 | |
| @@ -17,6 +17,11 @@ | |
| 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 @@ | |
| "^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 @@ | |
| # 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,22 @@ | |
| "\\.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"; | |
| "\\.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 +137,40 @@ | |
| "\\.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 +178,15 @@ | |
| 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 +196,20 @@ | |
| "\\.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 +223,94 @@ | |
| "\\.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 +321,12 @@ | |
| "\\.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 +336,12 @@ | |
| "\\.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"; | |
| @@ -290,11 +350,13 @@ | |
| "\\.wf$" = "whois.nic.wf"; | |
| "\\.ws$" = "whois.worldsite.ws"; | |
| "\\.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 +373,16 @@ | |
| } | |
| # | |
| +# 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 +652,7 @@ | |
| 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 +665,13 @@ | |
| "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 +682,47 @@ | |
| "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 +758,7 @@ | |
| ".*-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 +767,49 @@ | |
| 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 +817,6 @@ | |
| # each host. | |
| # | |
| server-options { | |
| - "rwhois\\.nic\\.ve" { | |
| - rwhois = true; | |
| - rwhois-display = "dump"; | |
| - rwhois-limit = 10; | |
| - } | |
| "rwhois\\.exodus\\.net" { | |
| rwhois = true; | |
| } | |
| @@ -754,13 +888,6 @@ | |
| 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 +904,6 @@ | |
| 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 +933,12 @@ | |
| 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 +969,6 @@ | |
| 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 +992,9 @@ | |
| "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 +1024,148 @@ | |
| 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"; | |
| + } | |
| } | |
| # | |
| diff -ur unpatched/jwhois-4.0/src/init.c redhat-patched/jwhois-4.0/src/init.c | |
| --- unpatched/jwhois-4.0/src/init.c 2007-06-26 08:59:17.000000000 +0200 | |
| +++ redhat-patched/jwhois-4.0/src/init.c 2011-11-30 21:35:33.000000000 +0100 | |
| @@ -283,6 +283,8 @@ | |
| if (in) | |
| jconfig_parse_file(in); | |
| + fclose(in); | |
| + | |
| if (verbose>1) | |
| { | |
| printf("[Debug: Cache = %s]\n", cache?"On":"Off"); | |
| diff -ur unpatched/jwhois-4.0/src/lookup.c redhat-patched/jwhois-4.0/src/lookup.c | |
| --- unpatched/jwhois-4.0/src/lookup.c 2007-06-26 08:59:47.000000000 +0200 | |
| +++ redhat-patched/jwhois-4.0/src/lookup.c 2011-11-30 21:35:13.000000000 +0100 | |
| @@ -149,7 +149,7 @@ | |
| } | |
| /* i == bits / 8 */ | |
| if (bits % 8 != 0 | |
| - && (addr->s6_addr[i] & (0xFFu << (bits % 8))) != net->s6_addr[i]) | |
| + && (addr->s6_addr[i] & (0xFFu << 8-(bits % 8))) != net->s6_addr[i]) | |
| return 0; | |
| return 1; | |
| } | |
| diff -ur unpatched/jwhois-4.0/src/utils.c redhat-patched/jwhois-4.0/src/utils.c | |
| --- unpatched/jwhois-4.0/src/utils.c 2007-06-26 09:00:20.000000000 +0200 | |
| +++ redhat-patched/jwhois-4.0/src/utils.c 2011-11-30 21:35:08.000000000 +0100 | |
| @@ -247,7 +247,7 @@ | |
| { | |
| return -1; | |
| } | |
| - while (res) | |
| + for (; res; res = res->ai_next) | |
| { | |
| sa = res->ai_addr; | |
| sockfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); | |
| @@ -266,15 +266,15 @@ | |
| flags = fcntl(sockfd, F_GETFL, 0); | |
| if (fcntl(sockfd, F_SETFL, flags|O_NONBLOCK) == -1) | |
| { | |
| + close (sockfd); | |
| return -1; | |
| } | |
| - | |
| error = connect(sockfd, res->ai_addr, res->ai_addrlen); | |
| - | |
| if (error < 0 && errno != EINPROGRESS) | |
| { | |
| - break; | |
| + close (sockfd); | |
| + continue; | |
| } | |
| FD_ZERO(&fdset); | |
| @@ -283,18 +283,20 @@ | |
| error = select(FD_SETSIZE, NULL, &fdset, NULL, &timeout); | |
| if (error == 0) | |
| { | |
| - break; | |
| + close (sockfd); | |
| + return -1; | |
| } | |
| retlen = sizeof(retval); | |
| error = getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &retval, &retlen); | |
| if (error < 0 || retval) | |
| { | |
| - break; | |
| + close (sockfd); | |
| + return -1; | |
| } | |
| - res = res->ai_next; | |
| + | |
| + break; | |
| } | |
| - if (error < 0 || retval) return -1; | |
| #endif | |
| return sockfd; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment