anchor.diff:  				  Data/binary>>}};
   
   handle_info({Cls, Socket}, #state{dsock = {Trpt,Socket},
  -				  caller = {recv_file, Fd}} = State)
  +				  caller = {recv_file, Fd}} = State0)
     when {Cls,Trpt}=={tcp_closed,tcp} ; {Cls,Trpt}=={ssl_closed,ssl} ->
       file_close(Fd),
  -    progress_report({transfer_size, 0}, State),
  -    activate_ctrl_connection(State),
  +    progress_report({transfer_size, 0}, State0),
  +    State = activate_ctrl_connection(State0),
       ?DBG("Data channel close",[]),
       {noreply, State#state{dsock = undefined, data = <<>>}};
   
   handle_info({Cls, Socket}, #state{dsock = {Trpt,Socket},
                                     client = Client,
  -				  caller = recv_chunk} = State)
  +				  caller = recv_chunk} = State0)
     when {Cls,Trpt}=={tcp_closed,tcp} ; {Cls,Trpt}=={ssl_closed,ssl} ->
       ?DBG("Data channel close recv_chunk",[]),
  -    activate_ctrl_connection(State),
  +    State = activate_ctrl_connection(State0),
       {noreply, State#state{dsock = undefined,
                             caller = #recv_chunk_closing{dconn_closed     =  true,
                                                          client_called_us =  Client =/= undefined}
                            }};
   
   handle_info({Cls, Socket}, #state{dsock = {Trpt,Socket}, caller = recv_bin, 
  -					 data = Data} = State)
  +					 data = Data} = State0)
     when {Cls,Trpt}=={tcp_closed,tcp} ; {Cls,Trpt}=={ssl_closed,ssl} ->
       ?DBG("Data channel close",[]),
  -    activate_ctrl_connection(State),
  +    State = activate_ctrl_connection(State0),
       {noreply, State#state{dsock = undefined, data = <<>>, 
   			  caller = {recv_bin, Data}}};
   
   handle_info({Cls, Socket}, #state{dsock = {Trpt,Socket}, data = Data,
  -					 caller = {handle_dir_result, Dir}} 
  -	    = State) when {Cls,Trpt}=={tcp_closed,tcp} ; {Cls,Trpt}=={ssl_closed,ssl} ->
  +                                  caller = {handle_dir_result, Dir}} 
  +	    = State0) when {Cls,Trpt}=={tcp_closed,tcp} ; {Cls,Trpt}=={ssl_closed,ssl} ->
       ?DBG("Data channel close",[]),
  -    activate_ctrl_connection(State),
  +    State = activate_ctrl_connection(State0),
       {noreply, State#state{dsock = undefined, 
   			  caller = {handle_dir_result, Dir, Data},
   %			  data = <<?CR,?LF>>}};
  
positive.code: 			     caller = Caller, 
  			     csock  = CSock,
                               sockopts_data_active = SockOpts,
  			     ftp_extension = FtpExt} = State) ->    
      case (catch sockname(CSock)) of
  	{ok, {{_, _, _, _, _, _, _, _} = IP0, _}} ->
              IP = proplists:get_value(ip, SockOpts, IP0),
  
negative.code: 	    end
      end;	
  
  handle_call({_, {open, tls_upgrade, TLSOptions}}, From, State0) ->
      _ = send_ctrl_message(State0, mk_cmd("AUTH TLS", [])), 
      State = activate_ctrl_connection(State0),
      {noreply, State#state{client = From, caller = open, tls_options = TLSOptions}};
  
  handle_call({_, {user, User, Password}}, From, 
  