anchor.diff:  	    {ok, {_, Port}} = sockname({tcp,LSock}),
   	    IpAddress = inet_parse:ntoa(IP),
   	    Cmd = mk_cmd("EPRT |2|~s|~p|", [IpAddress, Port]),
  -	    _ = send_ctrl_message(State, Cmd),
  -	    activate_ctrl_connection(State),  
  +	    _ = send_ctrl_message(State0, Cmd),
  +	    State = activate_ctrl_connection(State0),  
   	    {noreply, State#state{caller = {setup_data_connection, 
   					    {LSock, Caller}}}};
   	{ok, {{_,_,_,_} = IP0, _}} ->
  
positive.code:     setup_data_connection(State#state{caller = {dir, Dir, Len},
  				      client = From});
  handle_call({_, {rename, CurrFile, NewFile}}, From,
  	    #state{chunk = false} = State) ->
      _ = send_ctrl_message(State, mk_cmd("RNFR ~s", [CurrFile])),
      activate_ctrl_connection(State),
      {noreply, State#state{caller = {rename, NewFile}, client = From}};
  
  handle_call({_, {delete, File}}, {_Pid, _} = From, 
  	    #state{chunk = false} = State) ->
      _ = send_ctrl_message(State, mk_cmd("DELE ~s", [File])),
      activate_ctrl_connection(State),
      {noreply, State#state{client = From}};
  
  handle_call({_, {mkdir, Dir}}, From,  #state{chunk = false} = State) ->
      _ = send_ctrl_message(State, mk_cmd("MKD ~s", [Dir])),
      activate_ctrl_connection(State),
      {noreply, State#state{client = From}};
  
  handle_call({_,{rmdir, Dir}}, From, #state{chunk = false} = State) ->
      _ = send_ctrl_message(State, mk_cmd("RMD ~s", [Dir])),
      activate_ctrl_connection(State),
      {noreply, State#state{client = From}};
  
  handle_call({_,{type, Type}}, From, #state{chunk = false} = State) ->  
      case Type of
  	ascii ->
  	    _ = send_ctrl_message(State, mk_cmd("TYPE A", [])),
  	    activate_ctrl_connection(State),
  	    {noreply, State#state{caller = type, type = ascii, 
  				  client = From}};
  	binary ->
  	    _ = send_ctrl_message(State, mk_cmd("TYPE I", [])),
  	    activate_ctrl_connection(State),
  	    {noreply, State#state{caller = type, type = binary, 
  				  client = From}};
  	_ ->
  	    {reply, {error, etype}, State}
      end;
  
  handle_call({_,{recv, RemoteFile, LocalFile}}, From, 
  
negative.code: 			     caller = Caller, 
  			     csock  = CSock,
                               sockopts_data_active = SockOpts,
  			     ftp_extension = FtpExt} = State0) ->    
      case (catch sockname(CSock)) of
  	{ok, {{_, _, _, _, _, _, _, _} = IP0, _}} ->
              IP = proplists:get_value(ip, SockOpts, IP0),
  