config BR2_PACKAGE_PROFTPD
	bool "proftpd"
	depends on BR2_USE_MMU # fork()
	help
	  ProFTPD, a highly configurable FTP server.

	  http://www.proftpd.org/

if BR2_PACKAGE_PROFTPD

config BR2_PACKAGE_PROFTPD_MOD_CAP
	bool "mod_cap support"
	select BR2_PACKAGE_LIBCAP
	help
	  Compile ProFTPD with mod_cap support

config BR2_PACKAGE_PROFTPD_MOD_REWRITE
	bool "mod_rewrite support"
	help
	  Compile ProFTPD with mod_rewrite support

config BR2_PACKAGE_PROFTPD_MOD_REDIS
	bool "mod_redis support"
	select BR2_PACKAGE_HIREDIS
	help
	  The mod_redis module enables ProFTPD support for caching
	  data in Redis servers, using the hiredis client library.

config BR2_PACKAGE_PROFTPD_MOD_SFTP
	bool "mod_sftp support"
	select BR2_PACKAGE_OPENSSL
	help
	  Compile ProFTPD with mod_sftp support

config BR2_PACKAGE_PROFTPD_MOD_SQL
	bool "mod_sql support"
	help
	  Compile ProFTPD with mod_sql support.

if BR2_PACKAGE_PROFTPD_MOD_SQL

config BR2_PACKAGE_PROFTPD_MOD_SQL_SQLITE
	bool "mod_sql_sqlite support"
	select BR2_PACKAGE_SQLITE
	help
	  Compile ProFTPD with mod_sql_sqlite support.

endif

config BR2_PACKAGE_PROFTPD_MOD_SFTP_SQL
	bool "mod_sftp_sql support"
	select BR2_PACKAGE_PROFTPD_MOD_SQL
	select BR2_PACKAGE_PROFTPD_MOD_SFTP
	help
	  Compile ProFTPD with mod_sftp_sql support

config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB
	bool "mod_quotatab support"
	help
	  Compile ProFTPD with mod_quotatab support. This module
	  is required in order to support quota tables:
	        1. mod_quotatab_file
	        2. mod_quotatab_ldap
	        3. mod_quotatab_radius
	        4. mod_quotatab_sql

if BR2_PACKAGE_PROFTPD_MOD_QUOTATAB

config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_FILE
	bool "mod_quotatab_file table support"
	help
	  Compile mod_quotatab with mod_quotatab_file table.

config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_LDAP
	bool "mod_quotatab_ldap table support"
	help
	  Compile mod_quotatab with mod_quotatab_ldap table.

config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_RADIUS
	bool "mod_quotatab_radius table support"
	help
	  Compile mod_quotatab with mod_quotatab_radius table.

config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_SQL
	bool "mod_quotatab_sql table support"
	select BR2_PACKAGE_PROFTPD_MOD_SQL
	help
	  Compile mod_quotatab with mod_quotatab_sql table.

endif

config BR2_PACKAGE_PROFTPD_BUFFER_SIZE
	int "buffer size in bytes (0 for default)"
	default "0"
	help
	  By increasing the buffer size above the default of 1K,
	  proftpd reads and writes data in larger chunks, and makes
	  fewer expensive system calls. Use of this option to set buffer
	  sizes of 8K or more has been reported to drastically increase
	  transfer speeds (depending on network configurations).

	  0 uses the default size of 1024.

endif
