From gerald@FreeBSD.org  Sat Apr  5 19:24:00 2014
Return-Path: <gerald@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTPS id B67F24DA
	for <FreeBSD-gnats-submit@freebsd.org>; Sat,  5 Apr 2014 19:24:00 +0000 (UTC)
Received: from ref10-i386.freebsd.org (ref10-i386.freebsd.org [IPv6:2001:1900:2254:206c::16:8a])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client did not present a certificate)
	by mx1.freebsd.org (Postfix) with ESMTPS id A49A1371;
	Sat,  5 Apr 2014 19:24:00 +0000 (UTC)
Received: from ref10-i386.freebsd.org (localhost [127.0.0.1])
	by ref10-i386.freebsd.org (8.14.8/8.14.8) with ESMTP id s35JO0aS040479;
	Sat, 5 Apr 2014 19:24:00 GMT
	(envelope-from gerald@ref10-i386.freebsd.org)
Received: (from gerald@localhost)
	by ref10-i386.freebsd.org (8.14.8/8.14.8/Submit) id s35JO0ar040478;
	Sat, 5 Apr 2014 19:24:00 GMT
	(envelope-from gerald)
Message-Id: <201404051924.s35JO0ar040478@ref10-i386.freebsd.org>
Date: Sat, 5 Apr 2014 19:24:00 GMT
From: Gerald Pfeifer <gerald@pfeifer.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: whois says "% Error: 55000000013 Invalid charset for response"
X-Send-Pr-Version: 3.114
X-GNATS-Notify:

>Number:         188298
>Category:       bin
>Synopsis:       whois(1) says "% Error: 55000000013 Invalid charset for response"
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 05 19:30:00 UTC 2014
>Closed-Date:    
>Last-Modified:  Sun Apr 20 22:40:00 UTC 2014
>Originator:     Gerald Pfeifer
>Release:        FreeBSD 10.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD ref10-i386.freebsd.org 10.0-STABLE FreeBSD 10.0-STABLE #0 r262683: Sun Mar 2 08:27:42 UTC 2014 peter@ref10-i386.freebsd.org:/scratch/obj/scratch/src/sys/REF10-I386 i386
>Description:
	FreeBSD whois is not able to handle umlauts in whois records;
	the version used by SUSE and other Linux distributions works just fine.
>How-To-Repeat:
	whois goodbye-dots.de
	% Error: 55000000013 Invalid charset for response
>Fix:
>Release-Note:
>Audit-Trail:

From: Diego Giagio <diego@giagio.com>
To: "bug-followup@FreeBSD.org" <bug-followup@freebsd.org>,
	"gerald@pfeifer.com" <gerald@pfeifer.com>
Cc:  
Subject: [PATCH] Re: bin/188298: whois(1) says "% Error: 55000000013 Invalid
 charset for response"
Date: Sun, 20 Apr 2014 19:36:44 -0300

 --_2c42ba7f-d0cf-46a8-9099-75264943c096_
 Content-Type: text/plain; charset="iso-8859-1"
 Content-Transfer-Encoding: quoted-printable
 
 Currently whois(1) hardcodes US-ASCII charset for German domains when sendi=
 ng the request. That triggers the error on the remote side=2C and not on wh=
 ois(1) itself.=0A=
 =0A=
 Attached to this message there's a patch that uses libiconv for handling UT=
 F-8 data and remove US-ASCII from the request. It seems to be working good =
 on all my tests=2C be it a German domain or not. The patch can be applied t=
 o FreeBSD-CURRENT.=0A=
 =0A=
 --=0A=
 Diego Giagio=0A=
 diego@giagio.com=0A=
 diego@FreeBSD.org=0A=
 =0A=
  		 	   		  =
 
 --_2c42ba7f-d0cf-46a8-9099-75264943c096_
 Content-Type: application/octet-stream
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="whois-iconv.patch"
 
 LS0tIHdob2lzLmMJMjAxNC0wNC0yMCAxOToxOTowOC4wMDAwMDAwMDAgLTAzMDAKKysrIHdob2lz
 LmMubmV3CTIwMTQtMDQtMjAgMTk6MTg6NTMuMDAwMDAwMDAwIC0wMzAwCkBAIC00OCw2ICs0OCw5
 IEBACiAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CiAjaW5jbHVkZSA8Y3R5cGUuaD4KICNpbmNsdWRl
 IDxlcnIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGxhbmdpbmZvLmg+CisjaW5j
 bHVkZSA8aWNvbnYuaD4KICNpbmNsdWRlIDxuZXRkYi5oPgogI2luY2x1ZGUgPHN0ZGFyZy5oPgog
 I2luY2x1ZGUgPHN0ZGlvLmg+CkBAIC04NCwxMiArODcsMTggQEAKIHN0YXRpYyBjb25zdCBjaGFy
 ICppcF93aG9pc1tdID0geyBMTklDSE9TVCwgUk5JQ0hPU1QsIFBOSUNIT1NULCBCTklDSE9TVCwK
 IAkJCQkgIEZOSUNIT1NULCBOVUxMIH07CiBzdGF0aWMgY29uc3QgY2hhciAqcG9ydCA9IERFRkFV
 TFRfUE9SVDsKK3N0YXRpYyBpY29udl90IGNvbnY7CitzdGF0aWMgY2hhciAqY29udl9idWY7Citz
 dGF0aWMgc2l6ZV90IGNvbnZfYnVmbGVuOwogCiBzdGF0aWMgY2hhciAqY2hvb3NlX3NlcnZlcihj
 aGFyICopOwogc3RhdGljIHN0cnVjdCBhZGRyaW5mbyAqZ2V0aG9zdGluZm8oY2hhciBjb25zdCAq
 aG9zdCwgaW50IGV4aXRfb25fZXJyb3IpOwogc3RhdGljIHZvaWQgc19hc3ByaW50ZihjaGFyICoq
 cmV0LCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgX19wcmludGZsaWtlKDIsIDMpOwogc3RhdGlj
 IHZvaWQgdXNhZ2Uodm9pZCk7CiBzdGF0aWMgdm9pZCB3aG9pcyhjb25zdCBjaGFyICosIGNvbnN0
 IGNoYXIgKiwgaW50KTsKK3N0YXRpYyB2b2lkIGljb252X2luaXQoKTsKK3N0YXRpYyB2b2lkIGlj
 b252X2ZpbmkoKTsKK3N0YXRpYyBjaGFyICppY29udl9jb252ZXJ0KGNvbnN0IGNoYXIgKiwgc2l6
 ZV90KTsKIAogaW50CiBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCkBAIC0xODQsNiArMTkz
 LDggQEAKIAkJaWYgKCEoZmxhZ3MgJiBXSE9JU19RVUlDSykpCiAJCQlmbGFncyB8PSBXSE9JU19S
 RUNVUlNFOwogCX0KKworCWljb252X2luaXQoKTsKIAl3aGlsZSAoYXJnYy0tID4gMCkgewogCQlp
 ZiAoY291bnRyeSAhPSBOVUxMKSB7CiAJCQlzX2FzcHJpbnRmKCZxbmljaG9zdCwgIiVzJXMiLCBj
 b3VudHJ5LCBRTklDSE9TVF9UQUlMKTsKQEAgLTE5Nyw2ICsyMDgsNyBAQAogCQlxbmljaG9zdCA9
 IE5VTEw7CiAJCWFyZ3YrKzsKIAl9CisJaWNvbnZfZmluaSgpOwogCWV4aXQoMCk7CiB9CiAKQEAg
 LTI3Nyw3ICsyODksNyBAQAogewogCUZJTEUgKmZwOwogCXN0cnVjdCBhZGRyaW5mbyAqaG9zdHJl
 cywgKnJlczsKLQljaGFyICpidWYsICpob3N0LCAqbmhvc3QsICpwOworCWNoYXIgKmJ1ZiwgKmJ1
 Zl9jb252LCAqaG9zdCwgKm5ob3N0LCAqcDsKIAlpbnQgaSwgczsKIAlzaXplX3QgYywgbGVuOwog
 CkBAIC0yOTksNyArMzExLDcgQEAKIAlpZiAoZnAgPT0gTlVMTCkKIAkJZXJyKEVYX09TRVJSLCAi
 ZmRvcGVuKCkiKTsKIAlpZiAoc3RyY21wKGhvc3RuYW1lLCBHRVJNTklDSE9TVCkgPT0gMCkgewot
 CQlmcHJpbnRmKGZwLCAiLVQgZG4sYWNlIC1DIFVTLUFTQ0lJICVzXHJcbiIsIHF1ZXJ5KTsKKwkJ
 ZnByaW50ZihmcCwgIi1UIGRuLGFjZSAlc1xyXG4iLCBxdWVyeSk7CiAJfSBlbHNlIGlmIChzdHJj
 bXAoaG9zdG5hbWUsICJkayIgUU5JQ0hPU1RfVEFJTCkgPT0gMCkgewogCQlmcHJpbnRmKGZwLCAi
 LS1zaG93LWhhbmRsZXMgJXNcclxuIiwgcXVlcnkpOwogCX0gZWxzZSB7CkBAIC0zMTAsNyArMzIy
 LDggQEAKIAl3aGlsZSAoKGJ1ZiA9IGZnZXRsbihmcCwgJmxlbikpICE9IE5VTEwpIHsKIAkJd2hp
 bGUgKGxlbiA+IDAgJiYgaXNzcGFjZSgodW5zaWduZWQgY2hhcilidWZbbGVuIC0gMV0pKQogCQkJ
 YnVmWy0tbGVuXSA9ICdcMCc7Ci0JCXByaW50ZigiJS4qc1xuIiwgKGludClsZW4sIGJ1Zik7CisJ
 CWJ1Zl9jb252ID0gaWNvbnZfY29udmVydChidWYsIGxlbik7CisJCXByaW50ZigiJXNcbiIsIGJ1
 Zl9jb252KTsKIAogCQlpZiAoKGZsYWdzICYgV0hPSVNfUkVDVVJTRSkgJiYgbmhvc3QgPT0gTlVM
 TCkgewogCQkJaG9zdCA9IHN0cm5zdHIoYnVmLCBXSE9JU19TRVJWRVJfSUQsIGxlbik7CkBAIC0z
 NjQsMyArMzc3LDczIEBACiAJICAgICJbLXAgcG9ydF0gbmFtZSAuLi5cbiIpOwogCWV4aXQoRVhf
 VVNBR0UpOwogfQorCitzdGF0aWMgdm9pZAoraWNvbnZfaW5pdCgpCit7CisJY29udl9idWYgPSBO
 VUxMOworCWNvbnZfYnVmbGVuID0gMDsKKwljb252ID0gaWNvbnZfb3BlbihubF9sYW5naW5mbyhD
 T0RFU0VUKSwgInV0Zi04Iik7CisJaWYgKGNvbnYgPT0gKGljb252X3QpLTEpIHsKKwkJaWYgKGVy
 cm5vID09IEVJTlZBTCkgeworCQkJd2FybigiaWNvbnY6IGNvbnZlcnNpb24gZnJvbSAndXRmLTgn
 IHRvICclcycgIgorCQkJCSJpcyBub3Qgc3VwcG9ydGVkIiwgbmxfbGFuZ2luZm8oQ09ERVNFVCkp
 OworCQl9IGVsc2UgeworCQkJd2FybngoImljb252OiBpbnRpYWxpemF0aW9uIGVycm9yIik7CisJ
 CX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkCitpY29udl9maW5pKCkKK3sKKwlpZiAoY29udiAhPSAo
 aWNvbnZfdCktMSkKKwkJaWNvbnZfY2xvc2UoY29udik7CisJZnJlZShjb252X2J1Zik7Cit9CisK
 K3N0YXRpYyBjaGFyICoKK2ljb252X2NvbnZlcnQoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVu
 KQoreworCWNvbnN0IGNoYXIgKmlwdHIgPSBzdHI7CisJY2hhciAqb3B0cjsKKwlzaXplX3QgaWxl
 biA9IGxlbjsKKwlzaXplX3Qgb2xlbiA9IGxlbiAqIDI7CisJc2l6ZV90IHJldDsKKworCS8qIGNo
 ZWNrIGZvciBpbml0aWFsaXphdGlvbiAqLworCWlmIChjb252ID09IChpY29udl90KS0xKQorCQly
 ZXR1cm4gKGNoYXIqKXN0cjsKKworCS8qIGFsbG9jYXRlIG9yIGdyb3cgY29udmVyc2lvbiBidWZm
 ZXIgKi8KKwlpZiAoY29udl9idWYgPT0gTlVMTCB8fCBvbGVuID4gY29udl9idWZsZW4pIHsKKwkJ
 aWYgKGNvbnZfYnVmID09IE5VTEwpCisJCQljb252X2J1ZiA9IGNhbGxvYyhvbGVuLCBzaXplb2Yo
 Y2hhcikpOworCQllbHNlIHsKKwkJCWNvbnZfYnVmID0gcmVhbGxvYyhjb252X2J1Ziwgb2xlbik7
 CisJCQliemVybyhjb252X2J1Ziwgb2xlbik7CisJCX0KKwkJY29udl9idWZsZW4gPSBvbGVuOwor
 CX0KKworCW9wdHIgPSBjb252X2J1ZjsKKwlvbGVuID0gY29udl9idWZsZW47CisJd2hpbGUgKGls
 ZW4gIT0gMCkgeworCQlyZXQgPSBpY29udihjb252LCAmaXB0ciwgJmlsZW4sICZvcHRyLCAmb2xl
 bik7CisJCWlmIChyZXQgIT0gKHNpemVfdCktMSkKKwkJCWJyZWFrOworCisJCWlmIChlcnJubyA9
 PSBFSUxTRVEgfHwgZXJybm8gPT0gRUlOVkFMKSB7CisJCQkqb3B0cisrID0gJz8nOworCQkJLS1v
 bGVuOworCQkJKytpcHRyOworCQkJLS1pbGVuOworCQl9IGVsc2UgeworCQkJLyogY2FuJ3QgY29u
 dmVydCwgcmV0dXJuIG9yaWdpbmFsIHN0cmluZyAqLworCQkJcmV0dXJuIChjaGFyKilzdHI7CisJ
 CX0KKwl9CisJKm9wdHIgPSAnXDAnOwkKKwlyZXR1cm4gY29udl9idWY7Cit9CisK
 
 --_2c42ba7f-d0cf-46a8-9099-75264943c096_--
>Unformatted:
