anchor.diff:      {noreply, State#state{caller = {setup_data_connection, Caller}}};
   
   setup_data_connection(#state{mode = passive, ipfamily = inet,
  -			     caller = Caller} = State) ->
  +			     caller = Caller,
  +			     ftp_extension = false} = State) ->
       send_ctrl_message(State, mk_cmd("PASV", [])),
  +    activate_ctrl_connection(State),
  +    {noreply, State#state{caller = {setup_data_connection, Caller}}};    
  +
  +setup_data_connection(#state{mode = passive, ipfamily = inet,
  +			     caller = Caller,
  +			     ftp_extension = true} = State) ->
  +    send_ctrl_message(State, mk_cmd("EPSV", [])),
       activate_ctrl_connection(State),
       {noreply, State#state{caller = {setup_data_connection, Caller}}}.
   
  
positive.code: -define(DATA_ACCEPT_TIMEOUT, infinity).
  -define(DEFAULT_MODE,        passive).
  -define(PROGRESS_DEFAULT,    ignore).
  
  %% Internal Constants
  -define(FTP_PORT, 21).
  
negative.code: 	  ipfamily,     % inet | inet6 | inet6fb4
  	  progress = ignore,   % ignore | pid()	    
  	  dtimeout = ?DATA_ACCEPT_TIMEOUT,  % non_neg_integer() | infinity
  	  tls_upgrading_data_connection = false,
  	  ftp_extension = ?FTP_EXT_DEFAULT
  	 }).
  
  
  