session.h

説明を見る。
00001 #ifndef VSF_SESSION_H
00002 #define VSF_SESSION_H
00003 
00004 #ifndef VSFTP_STR_H
00005 #include "str.h"
00006 #endif
00007 
00008 #ifndef VSF_FILESIZE_H
00009 #include "filesize.h"
00010 #endif
00011 
00012 struct vsf_sysutil_sockaddr;
00013 struct mystr_list;
00014 
00015 /* This struct contains variables specific to the state of the current FTP
00016  * session
00017  */
00018 struct vsf_session
00019 {
00020   /* Details of the control connection */
00021   struct vsf_sysutil_sockaddr* p_local_addr;
00022   struct vsf_sysutil_sockaddr* p_remote_addr;
00023   char* p_control_line_buf;
00024 
00025   /* Details of the data connection */
00026   int pasv_listen_fd;
00027   struct vsf_sysutil_sockaddr* p_port_sockaddr;
00028   int data_fd;
00029   int data_progress;
00030   unsigned int bw_rate_max;
00031   long bw_send_start_sec;
00032   long bw_send_start_usec;
00033 
00034   /* Details of the login */
00035   int is_anonymous;
00036   struct mystr user_str;
00037   struct mystr anon_pass_str;
00038 
00039   /* Details of the FTP protocol state */
00040   filesize_t restart_pos;
00041   int is_ascii;
00042   struct mystr rnfr_filename_str;
00043   int abor_received;
00044   int epsv_all;
00045 
00046   /* Details of FTP session state */
00047   struct mystr_list* p_visited_dir_list;
00048 
00049   /* Details of userids which are interesting to us */
00050   int anon_ftp_uid;
00051   int guest_user_uid;
00052   int anon_upload_chown_uid;
00053 
00054   /* Things we need to cache before we chroot() */
00055   struct mystr banned_email_str;
00056   struct mystr email_passwords_str;
00057   struct mystr userlist_str;
00058   struct mystr banner_str;
00059   int tcp_wrapper_ok;
00060 
00061   /* Logging related details */
00062   int xferlog_fd;
00063   int vsftpd_log_fd;
00064   struct mystr remote_ip_str;
00065   unsigned long log_type;
00066   long log_start_sec;
00067   long log_start_usec;
00068   struct mystr log_str;
00069   filesize_t transfer_size;
00070 
00071   /* Buffers */
00072   struct mystr ftp_cmd_str;
00073   struct mystr ftp_arg_str;
00074 
00075   /* Parent<->child comms channel */
00076   int parent_fd;
00077   int child_fd;
00078 
00079   /* Other details */
00080   unsigned int num_clients;
00081   unsigned int num_this_ip;
00082   struct mystr home_str;
00083 
00084   /* Secure connections state */
00085   int control_use_ssl;
00086   int data_use_ssl;
00087   void* p_ssl_ctx;
00088   void* p_control_ssl;
00089   void* p_data_ssl;
00090   int ssl_slave_active;
00091   int ssl_slave_fd;
00092   int ssl_consumer_fd;
00093   unsigned int login_fails;
00094 };
00095 
00096 #endif /* VSF_SESSION_H */
00097 

Sat Aug 1 13:42:11 2009に生成されました。  doxygen 1.4.7