#include "eyd.hh" using namespace std; int main(int argc, char **argv){ /* std::string *servermsgold, *usermsg, *userparam; int ret; char * tmp_c_string; ftp_cmd_t ftp_cmd; ftp_connection_state_t cnx_state; FtpConfig * client_conf = NULL; servermsgold = NULL; usermsg = NULL; userparam = NULL; cnx_state = FTP_STATE_DISCONNECTED; client_conf = new FtpConfig(); ret = miniftp_args(client_conf, argc, argv); if (ret < 0) { return EXIT_FAILURE; } printf("Connecting to %s:%d\n... ", client_conf->server_conf->host->c_str(), client_conf->server_conf->port); fflush(stdout); XionFS::XSock *cmdXSock; // *dataXSock; cmdXSock = new XionFS::XSock(XionFS::CLIENT,XionFS::TCP); cmdXSock->port(client_conf->server_conf->port); cmdXSock->dns(client_conf->server_conf->host->c_str()); cmdXSock->launch(); printf(" fait\n"); client_conf->cmd_xsocket = cmdXSock; // init sequence MiniFtp::ServerMsg * servermsg; // ("220 hophop"); servermsg = ftp_cmd_recv(client_conf); if ((servermsg->getStatus()/10) == 22){ cnx_state = FTP_STATE_CONNECTED; } else { cout << "ERROR\n"; return EXIT_FAILURE; // event system } delete(servermsg); // init cout <<"Auth...\n"; while(cnx_state == FTP_STATE_CONNECTED){ tmp_c_string = readline("Login...: "); usermsg = new std::string(tmp_c_string); ftp_cmd_send(client_conf, FTP_CMD_USER, (char*)usermsg->c_str()); free(tmp_c_string); delete(usermsg); servermsg = ftp_cmd_recv(client_conf); if (servermsg->getStatus() != 331){ continue; } delete(servermsg); tmp_c_string = readline("Password: "); usermsg = new std::string(tmp_c_string); ftp_cmd_send(client_conf, FTP_CMD_PASS, (char*)usermsg->c_str()); delete(usermsg); servermsg = ftp_cmd_recv(client_conf); if ((servermsg->getStatus() / 10) == 23){ cnx_state = FTP_STATE_LOGGED_IN; } delete(usermsg); } while(cnx_state == FTP_STATE_LOGGED_IN){ tmp_c_string = readline("ftp> "); usermsg = new std::string(tmp_c_string); //userparam = (char *) malloc(sizeof(char) * CLIENTQUERY_MAX_LENGTH); ftp_cmd = ftp_cmd_parse(usermsg, &userparam); //Think to keep FTP filesystem tree somewhere ftp_cmd_send(client_conf, ftp_cmd, userparam); if (ftp_cmd == FTP_CMD_QUIT){ printf("Disconnecting...\n"); cnx_state = FTP_STATE_DISCONNECTED; } free(userparam); delete(usermsg); free(tmp_c_string); } // on le garde dans un coin au chaud en attendant // dataXSock->launch(); */ return 0; }