Subject: | EBCDIC vs ISO coded character sets |
Hello,
querying MX records from an EBCDIC system against ISO/Unicode based
DNS does not work as expected. The name of the questioned domain is
transferred in EBCDIC coded characters. This can be checked e.g. with
the ethereal program. I think, the DNS server interprets these EBCDIC
coded characters through an ISO code page. Result we see is that DNS
delivers no MX records because there are none for the questioned
domain (NOERR result code).
Changing the method presentation2wire of DNS.pm so that a character
set conversion from EBCDIC coded characters to ISO is done prior to
sending the question to the DNS delivers the expected behaviour. The
DNS server answers with the expected MX records.
However, a similar problem is seen viceversa, the answer from the DNS
server needs to be retranslated from ISO coded characters into EBCDIC
for further processing. I also changed the method wire2presentation
accordingly. But am not quite sure, that it is called to derive
entries for the MX records.
I think there is a similar problem for querying other DNS resources
like looking up host name addresses.
Sincerely yours
Michael Kläschen
- Perl Version is 5.8.7,
- Version of Net::DNS is 0.57
- Operating System Type and Version is z/OS V1R7
- Version of nameserver is unknown, probably some Microsoft Windows DNS
- exact text of error message or description of problem : please see
above
- the shortest possible program that exhibits the problem : examples
of the Net::DNS manual page
- the specific queries you're making, if the data is available to
Internet nameservers : no internet DNS