亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ftpdlib.c

?? 操作系統(tǒng)中的一找你個(gè)的相關(guān)的淡淡的碼源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
/* ftpdLib.c - File Transfer Protocol (FTP) server *//* Copyright 1990 - 1998 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------03d,03dec98,lrn  added default home dir control (SPR#23554)                 removed dependency on usrLib (SPR#23536)03c,29sep98,lrn  creqated DosFs 2.0 branch for T2.0, verified fix for SPR#2082803b,14jul98,lrn  SPR#6647: adding notes on text file to description03a,25may98,lrn  anonymous access with root dir and upload dir	         connection timeout, default mode Binary                 enhance transfer rate: bufSize now same as winSize                 mget "*" support with wildcards, rework directory travel	         standardized directory listing to work with GUI clients	         simplified error handling in main loop, to make code smaller	         fixed: ASCII transfer of binary files breaks connection02n,17may98,lrn  merged previous additions with SENS source		 added support for delete, rename, mkdir and rmdir,		 added non-standard service port02m,05dec97,spm  upgraded server shutdown routine to terminate active                  sessions (SPR #9906); corrected response for PASV command                 to include valid IP address (SPR #1318); modified syntax                 of PASV command (SPR #5627); corrected handling of PORT                  command to support multiple interfaces (SPR #3500); added                  support for maximum number of connections (SPR #2032);                 applied changes for configurable password authentication                  from SENS branch (SPR #8602); removed incorrect note from                 man page concerning user/password verification, which was                  actually performed (SPR #7672); general cleanup (reorganized                 code, added FTP responses for error conditions, replaced                  "static" with LOCAL keyword in function declarations)02l,09jul97,dgp  doc: add note on UID and password per SPR 767202k,06feb97,jdi  made drawing internal.02j,30sep96,spm  partial fix for spr #7227. Added support for deleting files                 and using relative pathnames when listing directories.02i,05aug96,sgv  fix for spr #3583 and spr #5920. Provide login security		 for VxWorks login02h,21may96,sgv  Added global variable ftpdWindowSize which can be set by		 the user. the server would set the window size after the		 connection is established.02g,29mar95,kdl  changed ftpdDirListGet() to use ANSI time format in stat.02f,11feb95,jdi  doc format tweak.02e,20aug93,jag  Fixed memory leak by calling fclose (SPR #2194)                 Changed ftpdWorkTask Command Read Logic, Added error checking		 on write calls to the network and file operations.                 Added case-conversion changes (SPR #2035)02d,20aug93,jmm  Changed ioctl.h and socket.h to sys/ioctl.h and sys/socket.h02c,27feb93,kdl  Removed 01z case-conversion changes (SPR #2035).02b,05feb93,jag  Changed call to inet_ntoa to inet_ntoa_b. SPR# 181402a,20jan93,jdi  documentation cleanup for 5.1.01z,09sep92,jmm  fixed spr 1568, ftpd now recognizes lower case commands                 changed errnoGet() to errno to get rid of warning message01y,19aug92,smb  Changed systime.h to sys/times.h.01x,16jun92,kdl	 increased slot buffer to hold null terminator; use calloc()		 to allocate slot struct (SPR #1509).01w,26may92,rrr  the tree shuffle		  -changed includes to have absolute path from h/01v,08apr92,jmm  cleaned up some ansi warnings01u,18dec91,rrr  removed a recursive macro (killed the mips compiler)01t,10dec91,gae  ANSI cleanup. Changed ftpdSlotSem to an Id so that internal		    routine semTerminate() not used.01s,19nov91,rrr  shut up some ansi warnings.01r,14nov91,rrr  shut up some warnings01q,12nov91,wmd  fixed bug in ftpdDataStreamSend() and ftpdDataStreamReceive(),                 EOF is cast to type char to prevent endless looping.01p,04oct91,rrr  passed through the ansification filter                  -changed functions to ansi style		  -changed includes to have absolute path from h/		  -changed VOID to void		  -changed copyright notice01o,10jul91,gae  i960 fixes: non-varargs usage, added ntohs().  added HELP		 command, changed listing to support NFS/DOS not old style.01n,30apr91,jdi	 documentation tweaks.01m,05apr91,jdi	 documentation -- removed header parens and x-ref numbers;		 doc review by dnw.01l,12feb91,jaa	 documentation.01k,08oct90,hjb  included "inetLib.h".01j,05oct90,dnw  made ftpdWorkTask() be LOCAL.		 documentation tweaks.01i,02oct90,hjb  deleted "inet.h".  added more doc to ftpdInit().  added a call		   to htons() where needed.01h,18sep90,kdl  removed erroneous forward declaration of "ftpDataStreamRecv()".01g,10aug90,dnw  added forward declaration of ftpdDataStreamReceive().01f,10aug90,kdl  added forward declarations for functions returning void.01e,26jun90,jcf  changed ftpd semaphore to static mutex.01d,07may90,hjb  various bug fixes -- too numerous to mention.01c,17apr90,jcf  changed ftpd work task name to tFtpd...01b,11apr90,hjb  de-linted01a,01mar90,hjb  written*//*DESCRIPTIONThis library implements the server side of the File Transfer Protocol (FTP),which provides remote access to the file systems available on a target.The protocol is defined in RFC 959. This implementation supports all commandsrequired by that specification, as well as several additional commands.USER INTERFACEDuring system startup, the ftpdInit() routine creates a control connectionat the predefined FTP server port which is monitored by the primary FTPtask. Each FTP session established is handled by a secondary server taskcreated as necessary. The server accepts the following commands:.TStab(|);l1 l.    HELP | - List supported commands.    USER | - Verify user name.    PASS | - Verify password for the user.    QUIT | - Quit the session.    LIST | - List out contents of a directory.    NLST | - List directory contents using a concise format.    RETR | - Retrieve a file.    STOR | - Store a file.    CWD  | - Change working directory.    XCWD | - Change working directory.    CDUP | - Change to parent directory.    XCUP | - Change to parent directory.    TYPE | - Change the data representation type.    PORT | - Change the port number.    PWD  | - Get the name of current working directory.    XPWD | - Get the name of current working directory.    STRU | - Change file structure settings.    MODE | - Change file transfer mode.    ALLO | - Reserver sufficient storage.    ACCT | - Identify the user's account.    PASV | - Make the server listen on a port for data connection.    NOOP | - Do nothing.    DELE | - Delete a file    MKD  | - Make a directory    XMKD | - Make a directory    RMD  | - Remove a directory    XRMD | - Remove a directory    RNFR | - File to rename    RNTO | - a new name for a file that is being renamed    SIZE | - get file size in bytes    MDTM | - get file modification date and time    SYST | - report type of operating system.TEThe ftpdDelete() routine will disable the FTP server until restarted. It reclaims all system resources used by the server tasks and cleanly terminates all active sessions.This FTP server optionally offers client login via loginLib, or anyother custom user and password verification mechanism, which isintroduced to the FTP server by calling ftpdLoginInstall().  Also,"anonymous" guest access may be optionally enabled withftpdAnonymousAllow(), which imposes certain access restrictions on theguest client, namely access may be restriced to a certain subdirectoryon the disk, and the access is restirected to read-only, except aspecified directory which is allowed for read-write access.Please note that if ftpdLoginInstall() is not called, the FTP server willaccept any client, which may potentially cause a security problem, hence ifthere is no user login mechanism used, then at least "anonymous" access shouldbe enabled, so at least some access restrictions can be imposed on the client,which can not be authenticated.Therefore, if anonymous access has been enabled but no other authenticationmechanism was installed with ftpdLoginInstall(), no other user then"anonymous" will be allowed to access the FTP service.NOTE ON TEXT FILESAlthough the dominant file system on VxWorksis MS-DOS compatible, this does not imply that Text Files on VxWorks aretreated as in MS-DOS.Essentially, VxWorks does not treat Text Files in any special way, all filestext or binary are treated in a transparrent manner by the I/O and stdiolibraries, resulting in handling of Text Files similar to UNIX.Therefore, the FTP server will treat ASCII-mode file transfers in the same wayas on UNIX, whence the text lines are delimited with the Line Feed characteronly. Transferring a Text File from an MS-DOS or Windows system to VxWorkswill thus result in all CR-LF sequences converted to LF only.INTERNALThe ftpdInit() routine spawns the primary server task ('ftpdTask') to handlemultiple FTP sessions. That task creates a separate task ('ftpdWorkTask') foreach active control connection.The diagram below defines the structure chart of ftpdLib..CS  ftpdDelete		   			ftpdInit	|  \					  |	|   \					  |	|    \					ftpdTask	|     \					/    |  \____________	|      \			       /     |		     \	|	|   	          ftpdSessionAdd ftpdWorkTask ftpdSessionDelete	|	|	      ______________________/     |  \	|	|	     /    /	|	          |   \ ftpdSlotDelete | ftpdDirListGet /  ftpdDataStreamReceive |   ftpdDataStreamSend	|	|	        /	|	\	  |   /	     /	 \	|    __________/	|	 \	  |  /	    /	  \	|   /			|         ftpdDataConnGet  /	   \	|   |			|	   |   ___________/	    \	|   |			|	   |  /         ftpdSockFree			ftpdDataCmdSend.CEKnown Problems:Work task name are not guaranteed to be unique.All file sizes are done in 32-bit, hence 3 GB max file size limitation.Should log every anonymous access to logMsg or log file.INCLUDE FILES: ftpdLib.hSEE ALSO:ftpLib, netDrv, .I "RFC-959 File Transfer Protocol"*/#include "vxWorks.h"#include "ioLib.h"#include "taskLib.h"#include "lstLib.h"#include "stdio.h"#include "sys/socket.h"#include "netinet/in.h"#include "errno.h"#include "version.h"#include "string.h"#include "stdlib.h"#include "iosLib.h"#include "inetLib.h"#include "dirent.h"#include "sys/stat.h"#include "sys/times.h"#include "sockLib.h"#include "logLib.h"#include "unistd.h"#include "pathLib.h"#include "sysLib.h"#include "ftpdLib.h"#include "ctype.h"#include "time.h"#include "loginLib.h"#include "fioLib.h"#include "dosFsLib.h"	/* for attributes definition *//* Representation Type */#define FTPD_BINARY_TYPE	0x1#define FTPD_ASCII_TYPE		0x2#define FTPD_EBCDIC_TYPE	0x4#define FTPD_LOCAL_BYTE_TYPE	0x8/* Transfer mode */#define FTPD_STREAM_MODE	0x10#define FTPD_BLOCK_MODE		0x20#define FTPD_COMPRESSED_MODE	0x40/* File structure */#define FTPD_NO_RECORD_STRU	0x100#define FTPD_RECORD_STRU	0x200#define FTPD_PAGE_STRU		0x400/* Session Status */#define FTPD_USER_OK		0x1000#define	FTPD_ANONYMOUS		0x2000#define FTPD_PASSIVE		0x10000/* Macros to obtain correct parts of the status code */#define FTPD_REPRESENTATION(slot)	( (slot)->status	& 0xff)#ifdef	_unused_#define FTPD_TRANS_MODE(slot)		(((slot)->status >> 8)	& 0xff)#define FTPD_FILE_STRUCTURE(slot)	(((slot)->status >> 16)	& 0xff)#define FTPD_STATUS(slot)		(((slot)->status >> 24) & 0xff)#endif/* Well known port definitions -- someday we'll have getservbyname */#define FTP_DATA_PORT		20#define FTP_DAEMON_PORT		21/* Free socket indicative */#define FTPD_SOCK_FREE		-1/* Arbitrary limits for the size of the FTPD work task name */#define FTPD_WORK_TASK_NAME_LEN	40/* Arbitrary limits hinted by Unix FTPD in waing for a new data connection */#define FTPD_WAIT_MAX		90#define FTPD_WAIT_INTERVAL	5#define	FTPD_CONN_TIMEOUT	200/* Macro to get the byte out of an int */#define FTPD_UC(ch)		(((int) (ch)) & 0xff)/* Bit set in FTP reply code to indicate multi-line reply. * Used internally by ftpdCmdSend() where codes are less than * 1024 but are 32-bit integers.  [Admittedly a hack, see * ftpdCmdSend().] */#define	FTPD_MULTI_LINE		0x10000000#define FTPD_WINDOW_SIZE	10240#define	FTPD_ANONYMOUS_USER_1	"anonymous"#define	FTPD_ANONYMOUS_USER_2	"ftp"#define	FTPD_ANONYMOUS_USER_3	"guest"/* globals */int ftpdDebug			= FALSE;	/* TRUE: debugging messages */int ftpdTaskPriority		= 56;int ftpdTaskOptions 		= VX_SUPERVISOR_MODE | VX_UNBREAKABLE;int ftpdWorkTaskPriority	= 152;int ftpdWorkTaskOptions		= VX_SUPERVISOR_MODE | VX_UNBREAKABLE; int ftpdWorkTaskStackSize	= 12000;int ftpdWindowSize              = FTPD_WINDOW_SIZE;int ftpsMaxClients = 4; 	/* Default max. for simultaneous connections */int ftpsCurrentClients;/* locals */LOCAL BOOL ftpsActive = FALSE; 	/* Server started? */LOCAL BOOL ftpsShutdownFlag; 	/* Server halt requested? *//* * The FTP server keeps track of active client sessions in a linked list * of the following FTPD_SESSION_DATA data structures. That structure * contains all the variables which must be maintained separately * for each client so that the code shared by every secondary * task will function correctly. */typedef struct    {    NODE		node;		/* for link-listing */    int			status;		/* see various status bits above */    int			byteCount;	/* bytes transferred */    int			cmdSock;	/* command socket */    STATUS		cmdSockError;   /* Set to ERROR on write error */    int			dataSock;	/* data socket */    struct sockaddr_in	peerAddr;	/* address of control connection */    struct sockaddr_in 	dataAddr; 	/* address of data connection */    caddr_t		buf;		/* multi-purpose buffer per session */    int			bufSize;	/* size of the above buffer */    time_t		timeUsed;	/* last time session was active */    char 		curDirName 	/* active directory */				[MAX_FILENAME_LENGTH+1];    char                curUserName 	/* current user */				[MAX_LOGIN_NAME_LEN+1];    } FTPD_SESSION_DATA;LOCAL int ftpdTaskId 		= -1;LOCAL int ftpdServerSock 	= FTPD_SOCK_FREE;LOCAL LIST		ftpsSessionList;LOCAL SEM_ID		ftpsMutexSem;LOCAL SEM_ID 		ftpsSignalSem;LOCAL char		ftpdWorkTaskName [FTPD_WORK_TASK_NAME_LEN];LOCAL int		ftpdNumTasks;LOCAL FUNCPTR		pLoginVrfyFunc = NULL ;LOCAL char		defaultHomeDir	/* default root directory */				[MAX_FILENAME_LENGTH+1] = {0};LOCAL char		guestHomeDir	/* anonymous root directory */				[MAX_FILENAME_LENGTH+1] = {0};LOCAL char		writeDirName	/* anonymous upload directory */				[MAX_FILENAME_LENGTH+1] = {0};/* Various messages to be told to the clients */LOCAL const char *messages [] =    {    "Can't open passive connection",    "Parameter not accepted",    "Data connection error",    "Directory non existent or syntax error",    "Local resource failure: %s",    "VxWorks FTP server (VxWorks %s) ready.",    "Password required",    "User logged in",    "Bye...see you later",    "USER and PASS required",    "No files found or invalid directory or permission problem",    "Transfer complete",    "File \"%s\" not found or permission problem",    "Cannot create file \"%s\" or permission problem",    "Changed directory to \"%s\"",    "Type set to I, binary mode",    "Type set to A, ASCII mode",    "Port set okay",    "Current directory is \"%s\"",    "File structure set to NO RECORD",    "Stream mode okay",    "Allocate and Account not required",    "Entering Passive Mode (%d,%d,%d,%d,%d,%d)",    "NOOP -- did nothing as requested...hah!",    "Command not recognized",    "Error in input file",    "Unimplemented TYPE %d",    "You could at least say goodbye.",    "The following commands are recognized:",    "End of command list.",    "File deleted successfully.",    "Login failed.",    "File exists, ready for destination name.",    "File renamed successfuly.",    "\"%s\" directory created",    "Directory %s removed",    "%s: not a plain file",    "UNIX Type: L8 Version: VxWorks",

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美熟乱第一页| 国产精品一区二区久久精品爱涩| 91蜜桃传媒精品久久久一区二区| 国产精品激情偷乱一区二区∴| 成人18视频在线播放| 成人免费一区二区三区视频| 在线一区二区视频| 日本亚洲欧美天堂免费| 亚洲精品一区在线观看| 成人丝袜18视频在线观看| 亚洲欧洲日韩综合一区二区| 欧美亚洲愉拍一区二区| 蜜桃视频在线观看一区| 亚洲国产精品精华液2区45| 99精品欧美一区二区三区综合在线| 一区二区三区四区中文字幕| 在线综合视频播放| 国产高清无密码一区二区三区| 亚洲靠逼com| 日韩精品专区在线影院重磅| 国产91富婆露脸刺激对白| 悠悠色在线精品| 精品国产91乱码一区二区三区 | 欧美性做爰猛烈叫床潮| 日日夜夜精品视频免费| 国产日韩欧美精品电影三级在线| 在线亚洲免费视频| 国内精品自线一区二区三区视频| 亚洲图片激情小说| 日韩精品在线网站| 91免费视频观看| 国产一区二区三区久久久| 亚洲柠檬福利资源导航| 欧美不卡一区二区三区| 91免费版在线| 国产高清久久久久| 免费观看在线色综合| 亚洲精品免费在线| 久久精品夜色噜噜亚洲a∨| 欧美性淫爽ww久久久久无| 国产传媒久久文化传媒| 婷婷丁香久久五月婷婷| 亚洲同性同志一二三专区| 精品欧美一区二区在线观看| 欧美日韩一级大片网址| 成人国产视频在线观看| 久久se这里有精品| 视频一区在线视频| 亚洲综合激情另类小说区| 国产精品国产自产拍高清av王其 | 久久91精品国产91久久小草| 一区二区三区不卡在线观看 | 国产一区在线不卡| 午夜私人影院久久久久| 亚洲另类在线一区| 最新成人av在线| 国产欧美va欧美不卡在线| 精品国产免费视频| 91精品国产日韩91久久久久久| 99综合电影在线视频| 国产成人精品aa毛片| 精品在线播放午夜| 麻豆91免费看| 石原莉奈在线亚洲二区| 亚洲v日本v欧美v久久精品| 亚洲欧美日韩电影| 亚洲视频在线观看一区| 一区在线观看视频| 亚洲女性喷水在线观看一区| 中文字幕一区在线观看| 国产精品视频看| 国产精品美女一区二区在线观看| 国产三级三级三级精品8ⅰ区| 久久久影视传媒| 国产日本欧洲亚洲| 国产精品免费视频网站| 中文字幕免费不卡| 亚洲人妖av一区二区| 一区二区三区**美女毛片| 一区二区激情视频| 亚洲成av人片一区二区三区| 天天影视涩香欲综合网| 青青草国产精品97视觉盛宴| 久久99精品国产| 国产精品一区二区免费不卡| 成人黄色一级视频| 91视频一区二区| 欧美日韩国产一区二区三区地区| 欧美日本国产一区| 日韩欧美国产wwwww| 久久久美女艺术照精彩视频福利播放| 欧美精品一区二区三区蜜桃视频 | 欧美精品tushy高清| 日韩一区二区三区观看| 久久先锋资源网| 国产精品成人在线观看 | 亚洲chinese男男1069| 青青草一区二区三区| 国产伦精品一区二区三区在线观看| 国产在线看一区| 99久久99久久综合| 欧美日韩视频专区在线播放| 日韩免费观看高清完整版| 久久精品一区八戒影视| 亚洲精品免费视频| 美国av一区二区| 国产91丝袜在线观看| 欧美在线免费播放| 欧美v日韩v国产v| 亚洲欧美韩国综合色| 青青草原综合久久大伊人精品优势| 国产精品一区二区三区网站| 欧美在线制服丝袜| 欧美tickling挠脚心丨vk| 国产精品久久久久久久第一福利 | 午夜在线成人av| 国产伦精一区二区三区| 欧美在线免费视屏| 国产亚洲综合av| 亚洲成人一二三| 国产盗摄一区二区三区| 懂色av一区二区夜夜嗨| 欧美情侣在线播放| 国产精品影视在线观看| 亚洲福中文字幕伊人影院| 国内精品伊人久久久久av一坑| 91一区二区三区在线播放| 精品久久久久久综合日本欧美| 中文字幕一区二| 久久99精品国产麻豆不卡| 欧美午夜一区二区| 国产精品久久午夜| 精品一区二区在线看| 色狠狠一区二区三区香蕉| 在线观看日韩精品| 亚洲中国最大av网站| 欧美日韩免费视频| 亚洲成人久久影院| 欧美日韩不卡在线| 日韩成人av影视| 精品国产露脸精彩对白| 久久国产麻豆精品| 久久久精品免费观看| 粉嫩绯色av一区二区在线观看| 国产精品久久久久婷婷| 99久久国产综合精品女不卡| 亚洲精品美腿丝袜| 欧美视频你懂的| 日韩制服丝袜av| 精品国精品自拍自在线| 成人午夜看片网址| 亚洲激情男女视频| 欧美伦理视频网站| 狠狠色伊人亚洲综合成人| 国产色91在线| 91福利视频在线| 青青草91视频| 国产午夜精品久久久久久免费视| jizz一区二区| 午夜私人影院久久久久| 久久综合色一综合色88| 成人av电影免费在线播放| 夜夜亚洲天天久久| 日韩久久久精品| 91在线视频网址| 蜜桃视频免费观看一区| 国产亚洲精品aa| 色哟哟国产精品免费观看| 日韩av电影天堂| 国产精品人妖ts系列视频| 欧美视频在线一区二区三区| 极品少妇一区二区三区精品视频 | 欧洲一区在线观看| 热久久久久久久| 亚洲日韩欧美一区二区在线| 制服丝袜亚洲色图| 成人精品视频一区二区三区尤物| 亚洲综合偷拍欧美一区色| 精品美女在线观看| 色哟哟一区二区| 国产一区二区女| 亚洲妇熟xx妇色黄| 国产精品私房写真福利视频| 欧美日韩成人高清| 99久久精品费精品国产一区二区| 日本中文一区二区三区| 国产精品国产三级国产aⅴ原创 | 91猫先生在线| 久久爱www久久做| 亚洲午夜精品在线| 中文字幕一区视频| 欧美成人aa大片| 欧美日韩不卡一区| www.欧美亚洲| 国产一区美女在线| 三级精品在线观看| 亚洲色图在线看| 久久久国产一区二区三区四区小说| 欧美色视频在线观看| 成人黄色777网|