anchor.diff:      MXs = lists:sort(inet_res_filter(inet_dns:msg(Msg2, anlist), in, mx)),
       Buf2 = inet_dns:encode(Msg2),
       {ok,Msg2} = inet_dns:decode(Buf2),
  -    case [RR || RR <- inet_dns:msg(Msg2, arlist),
  -		inet_dns:rr(RR, type) =:= opt] of
  -	[OptRR] ->
  -	    io:format("~p~n", [inet_dns:rr(OptRR)]),
  -	    ok;
  -	[] ->
  -	    case os:type() of
  -		{unix,sunos} ->
  -		    case os:version() of
  -			{M,V,_} when M < 5;  M == 5, V =< 8 ->
  -			    %% In our test park only known platform
  -			    %% with an DNS resolver that cannot do
  -			    %% EDNS0.
  -			    {comment,"No EDNS0"}
  -		    end
  -	    end
  -    end.
  +    Res = case [RR || RR <- inet_dns:msg(Msg2, arlist),
  +                      inet_dns:rr(RR, type) =:= opt] of
  +              [OptRR] ->
  +                  ?P("opt rr:"
  +                     "~n      ~p", [inet_dns:rr(OptRR)]),
  +                  ok;
  +              [] ->
  +                  case os:type() of
  +                      {unix,sunos} ->
  +                          case os:version() of
  +                              {M,V,_} when M < 5;  M == 5, V =< 8 ->
  +                                  %% In our test park only known platform
  +                                  %% with an DNS resolver that cannot do
  +                                  %% EDNS0.
  +                                  {comment,"No EDNS0"}
  +                          end;
  +                      _ ->
  +                          ok
  +                  end
  +          end,
  +    ?P("done"),
  +    Res.
   
   inet_res_filter(Anlist, Class, Type) ->
       [inet_dns:rr(RR, data) || RR <- Anlist,
   			      inet_dns:rr(RR, type) =:= Type,
   			      inet_dns:rr(RR, class) =:= Class].
  +
   
   %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  
positive.code: 	   {hinfo,{"BEAM","Erlang/OTP"}}],
  	  undefined}
  	],
      resolve(Class, [{edns,0},{nameservers,[NS]}], L),
      resolve(Class, [{edns,false},{nameservers,[NS]}], L),
      %% Again, to see ensure the cache does not mess things up
      resolve(Class, [{edns,0},{nameservers,[NS]}], L),
      resolve(Class, [{edns,false},{nameservers,[NS]}], L).
  
  resolve(_Class, _Opts, []) ->
      ok;
  resolve(Class, Opts, [{Type,Nm,Answers,Authority}=Q|Qs]) ->
      io:format("Query: ~p~nOptions: ~p~n", [Q,Opts]),
      {Name,NameC} =
  	case erlang:phash2(Q) band 4 of
  	    0 ->
  
negative.code: 	  =:= tolower(inet_dns:rr(RR2b, domain))),
      %%
      %% lookup
      ?P("lookup"),
      [IP] = inet_res:lookup(Name, in, a, [{nameservers,[NS]},verbose]),
      [IP] = inet_res:lookup(NameC, in, a, [{nameservers,[NS]},verbose]),
      %%
      %% gethostbyname
      ?P("gethostbyname"),
      {ok,#hostent{h_addr_list=[IP]}} = inet_res:gethostbyname(Name),
      {ok,#hostent{h_addr_list=[IP]}} = inet_res:gethostbyname(NameC),
      %%
      %% getbyname
      ?P("getbyname"),
      {ok,#hostent{h_addr_list=[IP]}} = inet_res:getbyname(Name, a),
      {ok,#hostent{h_addr_list=[IP]}} = inet_res:getbyname(NameC, a),
      ?P("end"),
      ok.
  
  
  %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %% Lookup different records using resolve/2..4.
  resolve(Config) when is_list(Config) ->
      ?P("begin"),
      Class = in,
      NS = ns(Config),
      Domain = "otptest",
  