瀏覽代碼

* stringfromlabel now also handles dns message compression

git-svn-id: trunk@2115 -
Jonas Maebe 19 年之前
父節點
當前提交
b99bdb88a2
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      packages/base/netdb/netdb.pp

+ 7 - 0
packages/base/netdb/netdb.pp

@@ -496,6 +496,13 @@ begin
   i := 0;
   i := 0;
   repeat
   repeat
     l := ord(pl[start]);
     l := ord(pl[start]);
+    { compressed reply }
+    while (l >= 192) do
+      begin
+        { the -12 is because of the reply header length }
+        start := (l and not(192)) shl 8 + ord(pl[start+1]) - 12;
+        l := ord(pl[start]);
+      end;
     if l <> 0 then begin
     if l <> 0 then begin
       setlength(result,length(result)+l);
       setlength(result,length(result)+l);
       move(pl[start+1],result[i+1],l);
       move(pl[start+1],result[i+1],l);