anchor.diff:  
   %% dpr/2
   %%
  -%% The RFC isn't clear on whether DPR should be send in a non-Open
  +%% The RFC isn't clear on whether DPR should be sent in a non-Open
   %% state. The Peer State Machine transitions it documents aren't
   %% exhaustive (no Stop in Wait-I-CEA for example) so assume it's up to
   %% the implementation and transition to Closed (ie. die) if we haven't
  
positive.code: 
  %% recv1/3
  
  %% Incoming request after DPR has been sent: discard. Don't discard
  %% DPR, so both ends don't do so when sending simultaneously.
  recv1(Name,
        #diameter_packet{header = #diameter_header{is_request = true} = H},
        #state{dpr = {_,_,_}})
    when Name /= 'DPR' ->
      invalid(false, recv_after_dpr, H);
  
  %% DPA with identifier mismatch, or in response to a DPR initiated by
  %% the service.
  
negative.code:     if T == false ->
              inform_dpr(Pid),
              send_dpr(true, Pkt, dpa_timeout(), S);
         T == true ->
              invalid(false, dpr_after_dpa, H);  %% DPA sent: discard
         true ->
              invalid(false, dpr_after_dpr, H)   %% DPR sent: discard
      end;
  
  %% Explict CER or DWR: discard. These are sent by us.
  