Usage
Application development with libdigest and libcppdigest
See the examples: testdigest.c for libdigest and testcppdigest.cpp for libcppdigest.
Configure VSFTPD to use a digest-passwords file
In/etc/pam.d/vsftpd
auth required pam_digestfile.so digestfile /var/www/htdigest
account required pam_permit.soIn /etc/vsftpd.conf
listen=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=NO
ascii_download_enable=NO
ftpd_banner=My FTP server
chroot_local_user=YES
ls_recurse_enable=NO
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/myowncertificate.pem
rsa_private_key_file=/etc/ssl/certs/myowncertificate.pem
file_open_mode=0666
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/home/ftp/data/$USER
guest_username=ftp
anon_umask=0022
anon_other_write_enable=YES
userlist_enable=YES
userlist_file=/var/www/htdigest
tcp_wrappers=YES