session.h
上传用户:ig0539
上传日期:2022-05-21
资源大小:181k
文件大小:2k
源码类别:

Ftp客户端

开发平台:

C/C++

  1. #ifndef VSF_SESSION_H
  2. #define VSF_SESSION_H
  3. #ifndef VSFTP_STR_H
  4. #include "str.h"
  5. #endif
  6. #ifndef VSF_FILESIZE_H
  7. #include "filesize.h"
  8. #endif
  9. struct vsf_sysutil_sockaddr;
  10. struct mystr_list;
  11. /* This struct contains variables specific to the state of the current FTP
  12.  * session
  13.  */
  14. struct vsf_session
  15. {
  16.   /* Details of the control connection */
  17.   struct vsf_sysutil_sockaddr* p_local_addr;
  18.   struct vsf_sysutil_sockaddr* p_remote_addr;
  19.   char* p_control_line_buf;
  20.   /* Details of the data connection */
  21.   int pasv_listen_fd;
  22.   struct vsf_sysutil_sockaddr* p_port_sockaddr;
  23.   int data_fd;
  24.   int data_progress;
  25.   unsigned int bw_rate_max;
  26.   long bw_send_start_sec;
  27.   long bw_send_start_usec;
  28.   /* Details of the login */
  29.   int is_anonymous;
  30.   int is_guest;
  31.   struct mystr user_str;
  32.   struct mystr anon_pass_str;
  33.   /* Details of the FTP protocol state */
  34.   filesize_t restart_pos;
  35.   int is_ascii;
  36.   struct mystr rnfr_filename_str;
  37.   int abor_received;
  38.   int epsv_all;
  39.   /* Details of FTP session state */
  40.   struct mystr_list* p_visited_dir_list;
  41.   /* Details of userids which are interesting to us */
  42.   int anon_ftp_uid;
  43.   int guest_user_uid;
  44.   int anon_upload_chown_uid;
  45.   /* Things we need to cache before we chroot() */
  46.   struct mystr banned_email_str;
  47.   struct mystr email_passwords_str;
  48.   struct mystr userlist_str;
  49.   struct mystr banner_str;
  50.   int tcp_wrapper_ok;
  51.   /* Logging related details */
  52.   int xferlog_fd;
  53.   int vsftpd_log_fd;
  54.   struct mystr remote_ip_str;
  55.   unsigned long log_type;
  56.   long log_start_sec;
  57.   long log_start_usec;
  58.   struct mystr log_str;
  59.   filesize_t transfer_size;
  60.   /* Buffers */
  61.   struct mystr ftp_cmd_str;
  62.   struct mystr ftp_arg_str;
  63.   /* Parent<->child comms channel */
  64.   int parent_fd;
  65.   int child_fd;
  66.   /* Other details */
  67.   unsigned int num_clients;
  68.   unsigned int num_this_ip;
  69.   struct mystr home_str;
  70.   /* Secure connections state */
  71.   int control_use_ssl;
  72.   int data_use_ssl;
  73.   void* p_ssl_ctx;
  74.   void* p_control_ssl;
  75.   void* p_data_ssl;
  76.   struct mystr control_cert_digest;
  77.   int ssl_slave_active;
  78.   int ssl_slave_fd;
  79.   int ssl_consumer_fd;
  80.   unsigned int login_fails;
  81. };
  82. #endif /* VSF_SESSION_H */