This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DNS Resolver able to interpret un compressed responses?

Hello

We use the Keil C166 toolchain and the corresponding tcp/ip stack of the advanced realtime lib V3.12 on a own target hardware.

Now we have a problem with the DNS resolver function get_host_by_name(). The DNS resolver works fine with a
"Windows DNS Server 2003". The windows DNS server use a label compression scheme to reduce the data bytes.
Additional we used a standalone network with a "Hane DHCP and DNS Server". At this server the label are not
compressed and are written each time they are used. Based on a protocoll analyser the Hane DNS server seems
to response to the DNS request of our target. But our target isn't able to interprete the uncompressed data
scheme. This results in a internal DNS resolving timeout error. A windows PC is able to interprete the response of the Hane DNS server. Also the protocoll analyser was able to interprete the response of the Hane DNS server.

The only obviously differences it the compressen scheme which is used by the windows server. Does anybody know if only the compressed scheme is supported by the DNS resolver of Keil? Attached are the two responses logged by the protocoll analyser.

Windows Server 2003 Response:

Domain Name System (response)
    [Request In: 3664]
    [Time: 0.000130000 seconds]
    Transaction ID: 0x1400
    Flags: 0x8580 (Standard query response, No error)
        1... .... .... .... = Response: Message is a response
        .000 0... .... .... = Opcode: Standard query (0)
        .... .1.. .... .... = Authoritative: Server is an authority for domain
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...1 .... .... = Recursion desired: Do query recursively
        .... .... 1... .... = Recursion available: Server can do recursive queries
        .... .... .0.. .... = Z: reserved (0)
        .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
        .... .... .... 0000 = Reply code: No error (0)
    Questions: 1
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 0
    Queries
        virtpc-winxp-2.rteag.local: type A, class IN
            Name: virtpc-winxp-2.rteag.local
            Type: A (Host address)
            Class: IN (0x0001)
    Answers
        virtpc-winxp-2.rteag.local: type A, class IN, addr 192.168.1.209
            Name: virtpc-winxp-2.rteag.local
            Type: A (Host address)
            Class: IN (0x0001)
            Time to live: 20 minutes
            Data length: 4
            Addr: 192.168.1.209

0000  00 50 c2 38 10 6d 00 1c 23 d6 21 67 08 00 45 00   .P.8.m..#.!g..E.
0010  00 58 10 0b 00 00 80 11 a6 70 c0 a8 01 01 c0 a8   .X.......p......
0020  01 c8 00 35 00 35 00 44 07 da 14 00 85 80 00 01   ...5.5.D........
0030  00 01 00 00 00 00 0e 76 69 72 74 70 63 2d 77 69   .......virtpc-wi
0040  6e 78 70 2d 32 05 72 74 65 61 67 05 6c 6f 63 61   nxp-2.rteag.loca
0050  6c 00 00 01 00 01 c0 0c 00 01 00 01 00 00 04 b0   l...............
0060  00 04 c0 a8 01 d1                                 ......

Hane DNS Server Response:

Domain Name System (response)
    [Request In: 764]
    [Time: 0.000457000 seconds]
    Transaction ID: 0x84cd
    Flags: 0x8580 (Standard query response, No error)
        1... .... .... .... = Response: Message is a response
        .000 0... .... .... = Opcode: Standard query (0)
        .... .1.. .... .... = Authoritative: Server is an authority for domain
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...1 .... .... = Recursion desired: Do query recursively
        .... .... 1... .... = Recursion available: Server can do recursive queries
        .... .... .0.. .... = Z: reserved (0)
        .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
        .... .... .... 0000 = Reply code: No error (0)
    Questions: 1
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 0
    Queries
        vostro1710-4.rteag.local: type A, class IN
            Name: vostro1710-4.rteag.local
            Type: A (Host address)
            Class: IN (0x0001)
    Answers
        vostro1710-4.rteag.local: type A, class IN, addr 192.168.3.1
            Name: vostro1710-4.rteag.local
            Type: A (Host address)
            Class: IN (0x0001)
            Time to live: 1 hour
            Data length: 4
            Addr: 192.168.3.1

0000  00 50 c2 38 10 6d 00 21 70 e9 f0 02 08 00 45 00   .P.8.m.!p.....E.
0010  00 6e 04 57 00 00 80 11 ae 96 c0 a8 03 01 c0 a8   .n.W............
0020  03 40 00 35 00 35 00 5a af f1 84 cd 85 80 00 01   .@.5.5.Z........
0030  00 01 00 00 00 00 0c 76 6f 73 74 72 6f 31 37 31   .......vostro171
0040  30 2d 34 05 72 74 65 61 67 05 6c 6f 63 61 6c 00   0-4.rteag.local.
0050  00 01 00 01 0c 76 6f 73 74 72 6f 31 37 31 30 2d   .....vostro1710-
0060  34 05 72 74 65 61 67 05 6c 6f 63 61 6c 00 00 01   4.rteag.local...
0070  00 01 00 00 0e 10 00 04 c0 a8 03 01               ............

Best regards Raphael

0