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