tunables.h 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. #ifndef VSF_TUNABLES_H
  2. #define VSF_TUNABLES_H
  3. /* tunables_load_defaults()
  4. * PURPOSE
  5. * Load the default values into the global settings variables.
  6. */
  7. void tunables_load_defaults();
  8. /* Configurable preferences */
  9. /* Booleans */
  10. extern int tunable_anonymous_enable; /* Allow anon logins */
  11. extern int tunable_local_enable; /* Allow local logins */
  12. extern int tunable_pasv_enable; /* Allow PASV */
  13. extern int tunable_port_enable; /* Allow PORT */
  14. extern int tunable_chroot_local_user; /* Restrict local to home dir */
  15. extern int tunable_write_enable; /* Global enable writes */
  16. extern int tunable_anon_upload_enable; /* Enable STOR for anon users */
  17. extern int tunable_anon_mkdir_write_enable; /* MKD for anon */
  18. extern int tunable_anon_other_write_enable; /* APPE DELE RMD RNFR for anon */
  19. extern int tunable_chown_uploads; /* chown() anon uploaded files */
  20. extern int tunable_connect_from_port_20; /* PORT connects from port 20 */
  21. extern int tunable_xferlog_enable; /* Log transfers to a file */
  22. extern int tunable_dirmessage_enable; /* Look for + output .message */
  23. extern int tunable_anon_world_readable_only; /* Only serve world readable */
  24. extern int tunable_async_abor_enable; /* Enable async ABOR requests */
  25. extern int tunable_ascii_upload_enable; /* Permit ASCII upload */
  26. extern int tunable_ascii_download_enable; /* Permit ASCII download */
  27. extern int tunable_one_process_model; /* Go faster stripes ;-) */
  28. extern int tunable_xferlog_std_format; /* Log details like wu-ftpd */
  29. extern int tunable_pasv_promiscuous; /* Allow any PASV connect IP */
  30. extern int tunable_deny_email_enable; /* Ban a list of anon e-mails */
  31. extern int tunable_chroot_list_enable; /* chroot() based on list file */
  32. extern int tunable_setproctitle_enable; /* Try to use setproctitle() */
  33. extern int tunable_text_userdb_names; /* For "ls", lookup text names */
  34. extern int tunable_ls_recurse_enable; /* Allow ls -R */
  35. extern int tunable_log_ftp_protocol; /* Log FTP requests/responses */
  36. extern int tunable_guest_enable; /* Remap guest users */
  37. extern int tunable_userlist_enable; /* Explicit user allow or deny */
  38. extern int tunable_userlist_deny; /* Is user list allow or deny? */
  39. extern int tunable_use_localtime; /* Use local time or GMT? */
  40. extern int tunable_check_shell; /* Use /etc/shells for non-PAM */
  41. extern int tunable_hide_ids; /* Show "ftp" in ls listings */
  42. extern int tunable_listen; /* Standalone (no inetd) mode? */
  43. extern int tunable_port_promiscuous; /* Any any PORT connect IP */
  44. extern int tunable_passwd_chroot_enable; /* chroot() based on passwd */
  45. extern int tunable_no_anon_password; /* Do not ask for anon pword */
  46. extern int tunable_tcp_wrappers; /* Standalone: do tcp wrappers */
  47. extern int tunable_use_sendfile; /* Use sendfile() if we can */
  48. extern int tunable_force_dot_files; /* Show dotfiles without -a */
  49. extern int tunable_listen_ipv6; /* Standalone with IPv6 listen */
  50. extern int tunable_dual_log_enable; /* Log vsftpd.log AND xferlog */
  51. extern int tunable_syslog_enable; /* Use syslog not vsftpd.log */
  52. extern int tunable_background; /* Background listener process */
  53. extern int tunable_virtual_use_local_privs; /* Virtual user => local privs */
  54. extern int tunable_session_support; /* utmp, wtmp, pam_session */
  55. extern int tunable_download_enable; /* Can download anything? */
  56. extern int tunable_dirlist_enable; /* Can see any dirs? */
  57. extern int tunable_chmod_enable; /* Is CHMOD allowed? (local) */
  58. extern int tunable_secure_email_list_enable; /* Require specific anon email */
  59. extern int tunable_run_as_launching_user; /* Runs as launching user */
  60. extern int tunable_no_log_lock; /* Don't lock log files */
  61. extern int tunable_ssl_enable; /* Allow SSL/TLS AUTH */
  62. extern int tunable_allow_anon_ssl; /* Allow anonymous use of SSL */
  63. extern int tunable_force_local_logins_ssl; /* Require local logins use SSL */
  64. extern int tunable_force_local_data_ssl; /* Require local data uses SSL */
  65. extern int tunable_sslv2; /* Allow SSLv2 */
  66. extern int tunable_sslv3; /* Allow SSLv3 */
  67. extern int tunable_tlsv1; /* Allow TLSv1 */
  68. extern int tunable_tilde_user_enable; /* Support e.g. ~chris */
  69. extern int tunable_force_anon_logins_ssl; /* Require anon logins use SSL */
  70. extern int tunable_force_anon_data_ssl; /* Require anon data uses SSL */
  71. extern int tunable_mdtm_write; /* Allow MDTM to set timestamps */
  72. extern int tunable_lock_upload_files; /* Lock uploading files */
  73. extern int tunable_pasv_addr_resolve; /* DNS resolve pasv_addr */
  74. extern int tunable_debug_ssl; /* Verbose SSL logging */
  75. extern int tunable_require_cert; /* SSL client cert required */
  76. extern int tunable_validate_cert; /* SSL certs must be valid */
  77. extern int tunable_strict_ssl_read_eof; /* Need SSL_shutdown() on read */
  78. extern int tunable_strict_ssl_write_shutdown; /* Need SSL_shutdown() on write */
  79. extern int tunable_ssl_request_cert; /* Ask client for cert */
  80. extern int tunable_delete_failed_uploads; /* Delete an upload that failed */
  81. extern int tunable_implicit_ssl; /* Use implicit SSL protocol */
  82. extern int tunable_ptrace_sandbox; /* DEPRECATED ptrace sandbox */
  83. extern int tunable_require_ssl_reuse; /* Require re-used data conn */
  84. extern int tunable_isolate; /* Use container clone() flags */
  85. extern int tunable_isolate_network; /* Use CLONE_NEWNET */
  86. extern int tunable_ftp_enable; /* Allow FTP protocol */
  87. extern int tunable_http_enable; /* Allow HTTP protocol */
  88. extern int tunable_seccomp_sandbox; /* seccomp filter sandbox */
  89. extern int tunable_allow_writeable_chroot; /* Allow misconfiguration */
  90. /* Integer/numeric defines */
  91. extern unsigned int tunable_accept_timeout;
  92. extern unsigned int tunable_connect_timeout;
  93. extern unsigned int tunable_local_umask;
  94. extern unsigned int tunable_anon_umask;
  95. extern unsigned int tunable_ftp_data_port;
  96. extern unsigned int tunable_idle_session_timeout;
  97. extern unsigned int tunable_data_connection_timeout;
  98. extern unsigned int tunable_pasv_min_port;
  99. extern unsigned int tunable_pasv_max_port;
  100. extern unsigned int tunable_anon_max_rate;
  101. extern unsigned int tunable_local_max_rate;
  102. extern unsigned int tunable_listen_port;
  103. extern unsigned int tunable_max_clients;
  104. extern unsigned int tunable_file_open_mode;
  105. extern unsigned int tunable_max_per_ip;
  106. extern unsigned int tunable_trans_chunk_size;
  107. extern unsigned int tunable_delay_failed_login;
  108. extern unsigned int tunable_delay_successful_login;
  109. extern unsigned int tunable_max_login_fails;
  110. extern unsigned int tunable_chown_upload_mode;
  111. /* String defines */
  112. extern const char* tunable_secure_chroot_dir;
  113. extern const char* tunable_ftp_username;
  114. extern const char* tunable_chown_username;
  115. extern const char* tunable_xferlog_file;
  116. extern const char* tunable_vsftpd_log_file;
  117. extern const char* tunable_message_file;
  118. extern const char* tunable_nopriv_user;
  119. extern const char* tunable_ftpd_banner;
  120. extern const char* tunable_banned_email_file;
  121. extern const char* tunable_chroot_list_file;
  122. extern const char* tunable_pam_service_name;
  123. extern const char* tunable_guest_username;
  124. extern const char* tunable_userlist_file;
  125. extern const char* tunable_anon_root;
  126. extern const char* tunable_local_root;
  127. extern const char* tunable_banner_file;
  128. extern const char* tunable_pasv_address;
  129. extern const char* tunable_listen_address;
  130. extern const char* tunable_user_config_dir;
  131. extern const char* tunable_listen_address6;
  132. extern const char* tunable_cmds_allowed;
  133. extern const char* tunable_hide_file;
  134. extern const char* tunable_deny_file;
  135. extern const char* tunable_user_sub_token;
  136. extern const char* tunable_email_password_file;
  137. extern const char* tunable_rsa_cert_file;
  138. extern const char* tunable_dsa_cert_file;
  139. extern const char* tunable_ssl_ciphers;
  140. extern const char* tunable_rsa_private_key_file;
  141. extern const char* tunable_dsa_private_key_file;
  142. extern const char* tunable_ca_certs_file;
  143. extern const char* tunable_cmds_denied;
  144. #endif /* VSF_TUNABLES_H */