Exemple #1
0
static void do_feat(session_t *sess)
{
	ftp_lreply(sess, FTP_FEAT, "Feature:");
	writen(sess->ctrl_fd, " EPRT\r\n", strlen(" EPRT\r\n"));
	writen(sess->ctrl_fd, " EPSV\r\n", strlen(" EPSV\r\n"));
	writen(sess->ctrl_fd, " MDTM\r\n", strlen(" MDTM\r\n"));
        writen(sess->ctrl_fd, " PASV\r\n", strlen(" PASV\r\n"));
	writen(sess->ctrl_fd, " REST STREAM\r\n", strlen(" STREAM\r\n"));
        writen(sess->ctrl_fd, " SIZE\r\n", strlen(" SIZE\r\n"));
	writen(sess->ctrl_fd, " UTF8\r\n", strlen(" UTF8\r\n"));
        ftp_reply(sess, FTP_FEAT, "end.");
}
Exemple #2
0
/**
 *do_feat - 回复服务器的特定
 *@sess:会话结构体
 */
void ftpproto::do_feat(session_t* sess)
{//211
	ftp_lreply(sess,FTP_FEAT,"Features:");
	lcw_systools.writen(sess->ctrl_fd," EPRT\r\n",strlen(" EPRT\r\n"));
	lcw_systools.writen(sess->ctrl_fd," EPSV\r\n",strlen(" EPSV\r\n"));
	lcw_systools.writen(sess->ctrl_fd," NDTH\r\n",strlen(" NDTH\r\n"));
	lcw_systools.writen(sess->ctrl_fd," PASV\r\n",strlen(" PASV\r\n"));
	lcw_systools.writen(sess->ctrl_fd," REST STREAM\r\n",strlen(" REST STREAM\r\n"));
	lcw_systools.writen(sess->ctrl_fd," SIZE\r\n",strlen(" SIZE\r\n"));
	lcw_systools.writen(sess->ctrl_fd," TVFS\r\n",strlen(" TVFS\r\n"));
	lcw_systools.writen(sess->ctrl_fd," UTF8\r\n",strlen(" UTF8\r\n"));
	ftp_reply(sess,FTP_FEAT,"End\r\n");
}
Exemple #3
0
// feat命令是用来请求FTP服务器列出它的所有的扩展命令与扩展功能的。属于主动模式命令!
void do_cmd_feat(session_t *pses)
{
    ftp_lreply(pses->ctrl_fd, FTP_FEAT, "Features:");
    writen(pses->ctrl_fd, "EPRT\r\n", strlen("EPRT\r\n"));
    writen(pses->ctrl_fd, "EPSV\r\n", strlen("EPSV\r\n"));
    writen(pses->ctrl_fd, "MDTM\r\n", strlen("MDTM\r\n"));
    writen(pses->ctrl_fd, "PASV\r\n", strlen("PASV\r\n"));
    writen(pses->ctrl_fd, "REST STREAM\r\n", strlen("REST STREAM\r\n"));
    writen(pses->ctrl_fd, "SIZE\r\n", strlen("SIZE\r\n"));
    writen(pses->ctrl_fd, "TUFS\r\n", strlen("TUFS\r\n"));
    writen(pses->ctrl_fd, "UTF8\r\n", strlen("UTF8\r\n"));
    ftp_reply(pses->ctrl_fd, FTP_STATOK, "End");    //211
}
Exemple #4
0
/**
 *do_help - 回复一些提示的信息
 *@sess:会话结构体
 */
void ftpproto::do_help(session_t* sess)
{
	ftp_lreply(sess,FTP_HELP, "The following commands are recognized.");
	lcw_systools.writen(sess->ctrl_fd, " ABOR ACCT ALLO APPE CDUP CWD  DELE EPRT EPSV FEAT HELP LIST MDTM MKD\r\n",
		strlen(" ABOR ACCT ALLO APPE CDUP CWD  DELE EPRT EPSV FEAT HELP LIST MDTM MKD\r\n"));

	lcw_systools.writen(sess->ctrl_fd, " MODE NLST NOOP OPTS PASS PASV PORT PWD  QUIT REIN REST RETR RMD  RNFR\r\n",
		strlen(" MODE NLST NOOP OPTS PASS PASV PORT PWD  QUIT REIN REST RETR RMD  RNFR\r\n"));

	lcw_systools.writen(sess->ctrl_fd, " RNTO SITE SIZE SMNT STAT STOR STOU STRU SYST TYPE USER XCUP XCWD XMKD\r\n",
		strlen(" RNTO SITE SIZE SMNT STAT STOR STOU STRU SYST TYPE USER XCUP XCWD XMKD\r\n"));

	lcw_systools.writen(sess->ctrl_fd, " XPWD XRMD\r\n",
		strlen(" XPWD XRMDr\n"));

	ftp_reply(sess,FTP_HELP, "Help OK.");
}