You can subscribe to this list here.
2001 |
Jan
(24) |
Feb
(632) |
Mar
(97) |
Apr
(98) |
May
(47) |
Jun
(27) |
Jul
(44) |
Aug
(49) |
Sep
(34) |
Oct
(49) |
Nov
(10) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(40) |
Feb
(68) |
Mar
(12) |
Apr
(20) |
May
(91) |
Jun
(110) |
Jul
(62) |
Aug
(43) |
Sep
(46) |
Oct
(79) |
Nov
(39) |
Dec
(64) |
2003 |
Jan
(50) |
Feb
(26) |
Mar
(62) |
Apr
(32) |
May
(54) |
Jun
(34) |
Jul
(29) |
Aug
(39) |
Sep
(58) |
Oct
(104) |
Nov
(19) |
Dec
(18) |
2004 |
Jan
(36) |
Feb
(24) |
Mar
(17) |
Apr
(47) |
May
(50) |
Jun
(45) |
Jul
(38) |
Aug
(54) |
Sep
(40) |
Oct
(18) |
Nov
(24) |
Dec
(24) |
2005 |
Jan
(33) |
Feb
(31) |
Mar
(38) |
Apr
(27) |
May
(17) |
Jun
(16) |
Jul
(23) |
Aug
(19) |
Sep
(14) |
Oct
(43) |
Nov
(2) |
Dec
(6) |
2006 |
Jan
(4) |
Feb
(14) |
Mar
(17) |
Apr
(5) |
May
(10) |
Jun
(9) |
Jul
|
Aug
(7) |
Sep
(10) |
Oct
(2) |
Nov
(18) |
Dec
(7) |
2007 |
Jan
(29) |
Feb
(8) |
Mar
(8) |
Apr
(6) |
May
(8) |
Jun
(4) |
Jul
(13) |
Aug
(10) |
Sep
(11) |
Oct
(19) |
Nov
(6) |
Dec
(1) |
2008 |
Jan
(4) |
Feb
(9) |
Mar
(9) |
Apr
(13) |
May
|
Jun
(2) |
Jul
(12) |
Aug
(5) |
Sep
(6) |
Oct
(15) |
Nov
(1) |
Dec
(1) |
2009 |
Jan
(3) |
Feb
(27) |
Mar
(5) |
Apr
(1) |
May
(55) |
Jun
(23) |
Jul
(4) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(9) |
Dec
(2) |
2010 |
Jan
(3) |
Feb
(13) |
Mar
(2) |
Apr
(2) |
May
(25) |
Jun
(4) |
Jul
(5) |
Aug
|
Sep
(5) |
Oct
(2) |
Nov
|
Dec
(20) |
2011 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(5) |
May
(7) |
Jun
(4) |
Jul
(3) |
Aug
(2) |
Sep
(1) |
Oct
(3) |
Nov
(10) |
Dec
(12) |
2012 |
Jan
(4) |
Feb
|
Mar
(9) |
Apr
|
May
(2) |
Jun
|
Jul
(1) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
|
Mar
(10) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(8) |
Aug
|
Sep
(4) |
Oct
(1) |
Nov
(2) |
Dec
(3) |
2014 |
Jan
(3) |
Feb
|
Mar
|
Apr
(1) |
May
(7) |
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
2015 |
Jan
|
Feb
(2) |
Mar
|
Apr
(3) |
May
(7) |
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
(7) |
Nov
(2) |
Dec
|
2016 |
Jan
|
Feb
(1) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
|
Nov
(8) |
Dec
|
2017 |
Jan
(4) |
Feb
(9) |
Mar
(11) |
Apr
(9) |
May
|
Jun
|
Jul
|
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(3) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
(6) |
Jun
(1) |
Jul
(3) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
(9) |
Apr
(2) |
May
(1) |
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(2) |
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(6) |
Jul
|
Aug
|
Sep
(4) |
Oct
(2) |
Nov
|
Dec
(2) |
2025 |
Jan
|
Feb
(3) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: <in...@fj...> - 2025-09-25 10:24:02
|
and what i mis upload en download from file. Noth only "%f" Van: in...@fj... <in...@fj...> Verzonden: donderdag 25 september 2025 10:45 Aan: 'pro...@li...' <pro...@li...> Onderwerp: bugs There are some errors in the mod_sql This is correct when running SQLUserInfo ftpuser username passwd uid gid homedir shell SQLUserWhereClause "Active = 1 and disabled = 0 and username<>'-' and (failmax = 0 or failcount < failmax) and (loginafter is null or (loginafter < now() and faillock = 1) or faillock = 0) and (login> This is not correct when running When i use "ftpuser" in the statements the reference in the sql.log is users also for groups! When i change it to users and groups it works. The rest of te tables begin with ftp! SQLNamedQuery userinfo FREEFORM "SELECT username,passwd,uid,gid,homedir,shell FROM ftpusers WHERE username = '%U'" proftpd SQLUserInfo custom:/userinfo I have a solution for 1. monthy up-/download see "delete_oke1, delete_oke2" Date_format can not be used because some "%" overwrite with the defaults of proftpd sql var's 2. fail amounts 3. block a period of time for login 4. block always after a date 5. SQLUserInfo custom:/userinfo is for a timeclock to login only am or pm etc.etc. Do you have a solution for MaxStoreFileSize is proftpd sql. I mis uid and gid in quota.conf, because i want the user name to replace the uid. This metadata technic is better. Proftpd sql var for gid Hope to hear from you soon Best Regast Frank Bellen Dutch ############################################################################ #################################### # # Proftpd sample configuration for SQL-based authentication. # # (This is not to be used if you prefer a PAM-based SQL authentication) # #http://www.proftpd.org/docs/contrib/mod_quotatab_sql.html <IfModule mod_sql.c> QuotaEngine on Include /etc/proftpd/sql_quota.conf AuthPAMConfig proftpd #AllowStoreRestart on #AllowRetrieveRestart on #Update count every time a user logs in # server_ip='%V' #SQLUserWhereClause "not disabled = 1" #SQLGroupWhereClause "not disabled = 1" #Logging of MySql SqlLogFile /var/log/proftpd/sql.log #create a user's home directory on demand if it doesn't exist #CreateHome on SQLBackend mysql #Type of Passwords in MySQL are OpenSSL Crypt Plaintext Empty Backend SQLAuthTypes Plaintext #SQLAuthenticate users groups SQLEngine on SQLAuthenticate on #SQLAuthenticate user* group* #used to connect to the database #databasename@host database_user user_password SQLConnectInfo proftpd@localhost proftpd (*Bn185961.*) SQLNamedConnectInfo proftpd mysql proftpd@localhost:3306 proftpd (*Bn185961.*) #Here we tell ProFTPd the names of the database columns in the "usertable" #we want it to interact with. Match the names with those in the db SQLUserInfo ftpuser username passwd uid gid homedir shell SQLUserWhereClause "Active = 1 and disabled = 0 and username<>'-' and (failmax = 0 or failcount < failmax) and (loginafter is null or (loginafter < now() and faillock = 1) or faillock = 0) and (loginexpired is null or loginexpired < now())" # Here we tell ProFTPd the names of the database columns in the "grouptable" # we want it to interact with. Again the names match with those in the db SQLGroupInfo ftpgroup groupname gid members SQLGroupWhereClause "disabled = 0" # set min UID and GID - otherwise these are 999 each SQLMinID 500 #display last login time when PASS command is given SQLNamedQuery login_time SELECT "modified from ftpuser where username='%U' and disabled = 0 and Active = 1" SQLShowInfo PASS "230" "Last login was: %{login_time}" # Update count every time user logs in SQLLog PASS updatecount SQLNamedQuery updatecount UPDATE "failcount = 0,count=count+1, accessed=now() WHERE username='%U'" ftpuser #logout log SQLLog EXIT time_logout SQLNamedQuery time_logout UPDATE "modified=now() WHERE username='%U' and disabled = 0 and active = 1" ftpuser # Update modified everytime user uploads or deletes a file SQLLog STOR,DELE modified SQLNamedQuery modified UPDATE "modified=now() WHERE username='%U'" ftpuser #login attempts SQLLog ERR_PASS log_fails0 IGNORE_ERRORS SQLNamedQuery log_fails0 FREEFORM "UPDATE ftpuser set failcount = failcount + 1 WHERE username = '%U' and disabled = 0 and active = 1 and failmax > 0" proftpd SQLLog ERR_PASS log_fails1 IGNORE_ERRORS SQLNamedQuery log_fails1 FREEFORM "UPDATE ftpuser set disabled = 1 WHERE username = '%U' and failcount > failmax - 1 and active = 1 and failmax > 0" proftpd SQLLog ERR_PASS log_fails2 IGNORE_ERRORS SQLNamedQuery log_fails2 UPDATE "loginafter = DATE_ADD(NOW(), INTERVAL loginafterhour HOUR) WHERE username='%U' and disabled = 1 and active = 1 and faillock = 1" ftpuser SQLLog ERR_PASS log_fails3 IGNORE_ERRORS SQLNamedQuery log_fails3 FREEFORM "UPDATE ftpuser set disabled = 0,failcount = 0 WHERE username = '%U' and active = 0" proftpd #regester user in database SQLLog PASS login_oke SQLNamedQuery login_oke FREEFORM "INSERT INTO ftplogin(gid,uid, client_ip, server_ip, protocol, insertdate,failed,Active) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(),0,t1.Active FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username='%U' and t1.disabled = 0 and t1.active = 1" proftpd SQLLog ERR_PASS login_error IGNORE_ERRORS SQLNamedQuery login_error FREEFORM "INSERT INTO ftplogin(gid,uid, client_ip, server_ip, protocol, insertdate,failcount,failmax,failed,Active) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(),t1.failcount,failmax,1,t1.active FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username='%U' and '%U' <> '%u' and t1.gid <> 0" proftpd SQLLog ERR_PASS present_error IGNORE_ERRORS SQLNamedQuery present_error FREEFORM "INSERT INTO ftplogin(gid,uid,username, client_ip, server_ip, protocol, insertdate,failcount,failmax,failed,active) SELECT 0,0,'%U','%a', '%V', '%{protocol}', NOW(),0,0,1,0 FROM (SELECT count(username) as count,'-' as username FROM ftpuser WHERE username='%U') t1 WHERE count = 0" proftpd SQLLog PASS delete_oke1 SQLNamedQuery delete_oke1 FREEFORM "DELETE t1 FROM ftpquotatallies t1 INNER JOIN ftpuser t2 ON t1.name = t2.username WHERE t2.username='%U' and t2.clearmonth < CAST(replace(left(TO_CHAR(now()),7),'-','') as integer)" proftpd SQLLog PASS delete_oke2 SQLNamedQuery delete_oke2 UPDATE "clearmonth = CAST(replace(left(TO_CHAR(now()),7),'-','') as integer) WHERE username='%U' and clearmonth < CAST(replace(left(TO_CHAR(now()),7),'-','') as integer)" ftpuser #Record downloads SQLLog RETR recorddownload SQLNamedQuery recorddownload FREEFORM "INSERT INTO ftpfiles(gid,uid, client_ip, server_ip, protocol, insertdate,FileType,File,Bytes) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(), 'download','%f', '%b' FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username = '%U' and t1.disabled = 0 and t1.active = 1" proftpd SQLLog RETR download1 SQLNamedQuery download1 UPDATE "downloadcount = downloadcount + 1,downloadbytes=downloadbytes+%b WHERE username='%U' and disabled = 0 and active = 1" ftpuser #Record upload SQLLog STOR recordupload SQLNamedQuery recordupload FREEFORM "INSERT INTO ftpfiles(gid,uid, client_ip, server_ip, protocol, insertdate,FileType,File,Bytes) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(), 'upload','%f', '%b' FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username = '%U' and t1.disabled = 0 and t1.active = 1" proftpd SQLLog STOR upload1 SQLNamedQuery upload1 UPDATE "uploadcount = uploadcount + 1,uploadbytes=uploadbytes+%b WHERE username='%U' and disabled = 0 and active = 1" ftpuser #logging in sql database SQLLog DELE,MKD,RETR,RMD,RNFR,RNTO,STOR,APPE extendedlog SQLNamedQuery extendedlog FREEFORM "INSERT INTO ftplog (client_ip,server_ip,protocol,username,operation,insertdate) VALUES ('%a','%V','%{protocol}','%u','%r',now())" proftpd SQLLog DELE recorddelete SQLNamedQuery recorddelete FREEFORM "INSERT INTO ftpfiles(gid,uid, client_ip, server_ip, protocol, insertdate,FileType,File,Bytes) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(), 'delete','%f', '%b' FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username = '%U'" proftpd </IfModule> |
From: <in...@fj...> - 2025-09-25 09:03:20
|
There are some errors in the mod_sql This is correct when running SQLUserInfo ftpuser username passwd uid gid homedir shell SQLUserWhereClause "Active = 1 and disabled = 0 and username<>'-' and (failmax = 0 or failcount < failmax) and (loginafter is null or (loginafter < now() and faillock = 1) or faillock = 0) and (login> This is not correct when running When i use "ftpuser" in the statements the reference in the sql.log is users also for groups! When i change it to users and groups it works. The rest of te tables begin with ftp! SQLNamedQuery userinfo FREEFORM "SELECT username,passwd,uid,gid,homedir,shell FROM ftpusers WHERE username = '%U'" proftpd SQLUserInfo custom:/userinfo I have a solution for 1. monthy up-/download see "delete_oke1, delete_oke2" Date_format can not be used because some "%" overwrite with the defaults of proftpd sql var's 2. fail amounts 3. block a period of time for login 4. block always after a date 5. SQLUserInfo custom:/userinfo is for a timeclock to login only am or pm etc.etc. Do you have a solution for MaxStoreFileSize is proftpd sql. I mis uid and gid in quota.conf, because i want the user name to replace the uid. This metadata technic is better. Proftpd sql var for gid Hope to hear from you soon Best Regast Frank Bellen Dutch ############################################################################ #################################### # # Proftpd sample configuration for SQL-based authentication. # # (This is not to be used if you prefer a PAM-based SQL authentication) # #http://www.proftpd.org/docs/contrib/mod_quotatab_sql.html <IfModule mod_sql.c> QuotaEngine on Include /etc/proftpd/sql_quota.conf AuthPAMConfig proftpd #AllowStoreRestart on #AllowRetrieveRestart on #Update count every time a user logs in # server_ip='%V' #SQLUserWhereClause "not disabled = 1" #SQLGroupWhereClause "not disabled = 1" #Logging of MySql SqlLogFile /var/log/proftpd/sql.log #create a user's home directory on demand if it doesn't exist #CreateHome on SQLBackend mysql #Type of Passwords in MySQL are OpenSSL Crypt Plaintext Empty Backend SQLAuthTypes Plaintext #SQLAuthenticate users groups SQLEngine on SQLAuthenticate on #SQLAuthenticate user* group* #used to connect to the database #databasename@host database_user user_password SQLConnectInfo proftpd@localhost proftpd (*Bn185961.*) SQLNamedConnectInfo proftpd mysql proftpd@localhost:3306 proftpd (*Bn185961.*) #Here we tell ProFTPd the names of the database columns in the "usertable" #we want it to interact with. Match the names with those in the db SQLUserInfo ftpuser username passwd uid gid homedir shell SQLUserWhereClause "Active = 1 and disabled = 0 and username<>'-' and (failmax = 0 or failcount < failmax) and (loginafter is null or (loginafter < now() and faillock = 1) or faillock = 0) and (loginexpired is null or loginexpired < now())" # Here we tell ProFTPd the names of the database columns in the "grouptable" # we want it to interact with. Again the names match with those in the db SQLGroupInfo ftpgroup groupname gid members SQLGroupWhereClause "disabled = 0" # set min UID and GID - otherwise these are 999 each SQLMinID 500 #display last login time when PASS command is given SQLNamedQuery login_time SELECT "modified from ftpuser where username='%U' and disabled = 0 and Active = 1" SQLShowInfo PASS "230" "Last login was: %{login_time}" # Update count every time user logs in SQLLog PASS updatecount SQLNamedQuery updatecount UPDATE "failcount = 0,count=count+1, accessed=now() WHERE username='%U'" ftpuser #logout log SQLLog EXIT time_logout SQLNamedQuery time_logout UPDATE "modified=now() WHERE username='%U' and disabled = 0 and active = 1" ftpuser # Update modified everytime user uploads or deletes a file SQLLog STOR,DELE modified SQLNamedQuery modified UPDATE "modified=now() WHERE username='%U'" ftpuser #login attempts SQLLog ERR_PASS log_fails0 IGNORE_ERRORS SQLNamedQuery log_fails0 FREEFORM "UPDATE ftpuser set failcount = failcount + 1 WHERE username = '%U' and disabled = 0 and active = 1 and failmax > 0" proftpd SQLLog ERR_PASS log_fails1 IGNORE_ERRORS SQLNamedQuery log_fails1 FREEFORM "UPDATE ftpuser set disabled = 1 WHERE username = '%U' and failcount > failmax - 1 and active = 1 and failmax > 0" proftpd SQLLog ERR_PASS log_fails2 IGNORE_ERRORS SQLNamedQuery log_fails2 UPDATE "loginafter = DATE_ADD(NOW(), INTERVAL loginafterhour HOUR) WHERE username='%U' and disabled = 1 and active = 1 and faillock = 1" ftpuser SQLLog ERR_PASS log_fails3 IGNORE_ERRORS SQLNamedQuery log_fails3 FREEFORM "UPDATE ftpuser set disabled = 0,failcount = 0 WHERE username = '%U' and active = 0" proftpd #regester user in database SQLLog PASS login_oke SQLNamedQuery login_oke FREEFORM "INSERT INTO ftplogin(gid,uid, client_ip, server_ip, protocol, insertdate,failed,Active) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(),0,t1.Active FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username='%U' and t1.disabled = 0 and t1.active = 1" proftpd SQLLog ERR_PASS login_error IGNORE_ERRORS SQLNamedQuery login_error FREEFORM "INSERT INTO ftplogin(gid,uid, client_ip, server_ip, protocol, insertdate,failcount,failmax,failed,Active) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(),t1.failcount,failmax,1,t1.active FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username='%U' and '%U' <> '%u' and t1.gid <> 0" proftpd SQLLog ERR_PASS present_error IGNORE_ERRORS SQLNamedQuery present_error FREEFORM "INSERT INTO ftplogin(gid,uid,username, client_ip, server_ip, protocol, insertdate,failcount,failmax,failed,active) SELECT 0,0,'%U','%a', '%V', '%{protocol}', NOW(),0,0,1,0 FROM (SELECT count(username) as count,'-' as username FROM ftpuser WHERE username='%U') t1 WHERE count = 0" proftpd SQLLog PASS delete_oke1 SQLNamedQuery delete_oke1 FREEFORM "DELETE t1 FROM ftpquotatallies t1 INNER JOIN ftpuser t2 ON t1.name = t2.username WHERE t2.username='%U' and t2.clearmonth < CAST(replace(left(TO_CHAR(now()),7),'-','') as integer)" proftpd SQLLog PASS delete_oke2 SQLNamedQuery delete_oke2 UPDATE "clearmonth = CAST(replace(left(TO_CHAR(now()),7),'-','') as integer) WHERE username='%U' and clearmonth < CAST(replace(left(TO_CHAR(now()),7),'-','') as integer)" ftpuser #Record downloads SQLLog RETR recorddownload SQLNamedQuery recorddownload FREEFORM "INSERT INTO ftpfiles(gid,uid, client_ip, server_ip, protocol, insertdate,FileType,File,Bytes) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(), 'download','%f', '%b' FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username = '%U' and t1.disabled = 0 and t1.active = 1" proftpd SQLLog RETR download1 SQLNamedQuery download1 UPDATE "downloadcount = downloadcount + 1,downloadbytes=downloadbytes+%b WHERE username='%U' and disabled = 0 and active = 1" ftpuser #Record upload SQLLog STOR recordupload SQLNamedQuery recordupload FREEFORM "INSERT INTO ftpfiles(gid,uid, client_ip, server_ip, protocol, insertdate,FileType,File,Bytes) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(), 'upload','%f', '%b' FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username = '%U' and t1.disabled = 0 and t1.active = 1" proftpd SQLLog STOR upload1 SQLNamedQuery upload1 UPDATE "uploadcount = uploadcount + 1,uploadbytes=uploadbytes+%b WHERE username='%U' and disabled = 0 and active = 1" ftpuser #logging in sql database SQLLog DELE,MKD,RETR,RMD,RNFR,RNTO,STOR,APPE extendedlog SQLNamedQuery extendedlog FREEFORM "INSERT INTO ftplog (client_ip,server_ip,protocol,username,operation,insertdate) VALUES ('%a','%V','%{protocol}','%u','%r',now())" proftpd SQLLog DELE recorddelete SQLNamedQuery recorddelete FREEFORM "INSERT INTO ftpfiles(gid,uid, client_ip, server_ip, protocol, insertdate,FileType,File,Bytes) SELECT t2.gid,t1.uid, '%a', '%V', '%{protocol}', NOW(), 'delete','%f', '%b' FROM ftpuser t1 INNER JOIN ftpgroup t2 ON t1.gid = t2.gid WHERE t1.username = '%U'" proftpd </IfModule> |
From: TJ S. <tj...@ca...> - 2025-04-01 16:06:38
|
Hello, ProFTPD developers. As we start on the next release cycle, I'd like to see what your thoughts are about what things should be addressed, features added, etc. On my mind are the following possibilities: - adding mod_proxy to the core distribution - adding support for SSH certificates to mod_sftp - continuing to use flamegraphs to improve SFTP transfer latencies What's on your wish list for ProFTPD? Cheers, TJ |
From: Carlos V. <car...@ni...> - 2025-02-13 15:21:30
|
Christian via Proftp-devel escribió el 13/02/2025 a las 15:14: > there is a CVE assigned to proftpd > https://www.cve.org/CVERecord?id=CVE-2024-57392 > > Is there an update in work ? It is being discussed on github: https://github.com/proftpd/proftpd/issues/1866 Regards, Carlos Velasco |
From: Christian <ch...@co...> - 2025-02-13 14:38:56
|
Hi, there is a CVE assigned to proftpd https://www.cve.org/CVERecord?id=CVE-2024-57392 Is there an update in work ? Thank you Kind Regards -- Christian ------------------------------------------------------------ https://join.worldcommunitygrid.org?recruiterId=177038 ------------------------------------------------------------ http://www.sc24.de - Sportbekleidung ------------------------------------------------------------ |
From: Christian <ch...@co...> - 2025-02-13 14:34:02
|
Hi, would you please so kind and provide a SSL certificate for https://bugs.proftpd.org Thank you Kind regards -- Christian ------------------------------------------------------------ https://join.worldcommunitygrid.org?recruiterId=177038 ------------------------------------------------------------ http://www.sc24.de - Sportbekleidung ------------------------------------------------------------ |
From: TJ S. <tj...@ca...> - 2023-12-20 04:49:13
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ProFTPD community. The ProFTPD Project team is happy to announce that the second maintenance release for ProFTPD 1.3.8 is now available for public consumption. You can download 1.3.8b, including PGP signatures and SHA256 sums, from GitHub: https://github.com/proftpd/proftpd/archive/v1.3.8b.tar.gz Alternatively, you can download proftpd from the main site: ftp://ftp.proftpd.org/distrib/source The 1.3.8b release is a maintenance release, containing various fixes backported from the 1.3.9 development cycle. Please read the included NEWS and RELEASE_NOTES files for the full details. The SHA256 sum for the source tarball is: 183ab7c6107de271a2959ff268f55c9b6c76b2cf0029e6584fccc019686601e0 proftpd-1.3.8b.tar.gz The PGP signature for the source tarball is: proftpd-1.3.8b.tar.gz: -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAmWCcGMACgkQt46JP6URl2rOOACgqd6poiniUeOej3gVoE4ZHA1Z PKgAoKgsyi9zqoilnOtZJKfzWw4BJ546 =GIJC -----END PGP SIGNATURE----- My PGP key has been used to sign the source tarballs as well as this announcement; it is available via MIT's public keyserver. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEARECAAYFAmWCcX8ACgkQt46JP6URl2r2YQCgz5CLfTFc5Wm8GLB5UZjCOlko unIAnjxvBt4hL/KPjnHp+vKaHTpALJz/ =JYci -----END PGP SIGNATURE----- |
From: TJ S. <tj...@ca...> - 2023-12-20 04:41:12
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ProFTPD community. The ProFTPD Project team is pleased to announce that the second release candidate for ProFTPD 1.3.9 is now available for public consumption. You can download 1.3.9rc2, including PGP signature, from GitHub: https://github.com/proftpd/proftpd/archive/v1.3.9rc2.tar.gz Alternatively, you can download proftpd from the main site: ftp://ftp.proftpd.org/distrib/source The 1.3.9rc2 release includes security fixes, and other bugfixes, including: + Addressing "Terrapin" SSH attack (CVE-2023-48795) + Fixed builds for ChaChaPoly SSH support using older OpenSSL versions Please read the included NEWS and RELEASE_NOTES files for the full details. The SHA256 sum for the source tarball is: ffec3df8dc9f727203255b467bba9404b17b9ea3b61715ceb477c2417e081b76 proftpd-1.3.9rc2.tar.gz The PGP signature for the source tarball is: proftpd-1.3.9rc2.tar.gz: -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAmWCarIACgkQt46JP6URl2oNkgCfeyPsyKljSwK36TiTZu16wAGY ZG0AoPx8OnkjA5m4rz42qQxozY9B+MpK =bMjA -----END PGP SIGNATURE----- My PGP key has been used to sign the source tarballs as well as this announcement; it is available via MIT's public keyserver. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEARECAAYFAmWCbBgACgkQt46JP6URl2oLNQCgv4PS+58YzNJCWYVzizji5Tuk +xQAnRLPvYfgDtNe3c4gqkz1e7ct+kfp =Uxk+ -----END PGP SIGNATURE----- |
From: TJ S. <tj...@ca...> - 2023-10-09 00:00:45
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ProFTPD community. The ProFTPD Project team is pleased to announce that the first maintenance release for ProFTPD 1.3.8 is now available for public consumption. You can download 1.3.8a, including PGP signatures and SHA256 sums, from GitHub: https://github.com/proftpd/proftpd/archive/v1.3.8a.tar.gz Alternatively, you can download proftpd from the main site: ftp://ftp.proftpd.org/distrib/source The 1.3.8a release is a maintenance release, containing various fixes backported from the 1.3.9 development cycle. Please read the included NEWS and RELEASE_NOTES files for the full details. The SHA256 sum for the source tarball is: 56093b890a712220b09b98e29de2974a590e8fae6b36ed78c698a90945466aaf proftpd-1.3.8a.tar.gz The PGP signature for the source tarball is: proftpd-1.3.8a.tar.gz: -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAmUjQZQACgkQt46JP6URl2qpFwCggqITzFB6fkGfBU5z0+AX3aGn EVgAnRC//qyIouovEZcf/STTg6CDAbMn =sgjA -----END PGP SIGNATURE----- My PGP key has been used to sign the source tarballs as well as this announcement; it is available via MIT's public keyserver. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEARECAAYFAmUjQckACgkQt46JP6URl2qK2wCg89VT/KA7bmSIROtuApa9GCaQ Do4An3BndI0II5LoGGEtpg6jbi0pH+Zs =Oemg -----END PGP SIGNATURE----- |
From: TJ S. <tj...@ca...> - 2023-10-08 23:40:05
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ProFTPD community. The ProFTPD Project team is pleased to announce that the first release candidate for ProFTPD 1.3.9 is now available for public consumption. You can download 1.3.9rc1, including PGP signature, from GitHub: https://github.com/proftpd/proftpd/archive/v1.3.9rc1.tar.gz Alternatively, you can download proftpd from the main site: ftp://ftp.proftpd.org/distrib/source The 1.3.9rc1 release includes major new features and numerous bugfixes, including: + Support for the cha...@op... SSH cipher algorithm + Support for OpenSSh FIDO security keys + Fixed builds using OpenSSL 3.x + Improved file download speed Please read the included NEWS and RELEASE_NOTES files for the full details. The SHA256 sum for the source tarball is: 9d25e4ae7256df43753cb4e16f1e3946f379deb5cc32131765d97e60ed4c2464 proftpd-1.3.9rc1.tar.gz The PGP signature for the source tarball is: proftpd-1.3.9rc1.tar.gz: -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAmUjOdIACgkQt46JP6URl2pSBACg+GZ1+xXTCAEUW6XxRBQfRly4 9SgAoPyC3gUcgi+q/xNtdAGFO8L6HqZS =wKtt -----END PGP SIGNATURE----- My PGP key has been used to sign the source tarballs as well as this announcement; it is available via MIT's public keyserver. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEARECAAYFAmUjOi0ACgkQt46JP6URl2rCjQCg9MViaUvsminL/zTd9iifcQud 64UAn00/DWHhIi4EVQfRW8QJI8gv93XS =3lmV -----END PGP SIGNATURE----- |
From: TJ S. <tj...@ca...> - 2023-09-11 16:34:01
|
> For example, something like this might work for your use case: > > <IfModule mod_rewrite.c> > RewriteEngine on > RewriteLog /path/to/rewrite.log > > # Define a map that uses the internal "tolower" function > RewriteMap lowercase int:tolower > > RewriteCondition %m REWRITE_HOME > RewriteRule (.*) ${uppercase:$1} > </IfModule> Oops. I was copy/pasting this together from multiple different examples, and missed a spot; that's meant to be using "lowercase": <IfModule mod_rewrite.c> RewriteEngine on RewriteLog /path/to/rewrite.log # Define a map that uses the internal "tolower" function RewriteMap lowercase int:tolower RewriteCondition %m REWRITE_HOME RewriteRule (.*) ${lowercase:$1} </IfModule> Cheers, TJ |
From: TJ S. <tj...@ca...> - 2023-09-11 16:31:07
|
>> Going through some old emails, I ran across this. I've filed a GitHub issue for tracking this: >> >> https://github.com/proftpd/proftpd/issues/1716 > > Thank you. There is however another issue related to this. When I initially > implemented this, some users were unable to login, because their usernames > were internally stored as uppercase in the AD (while others were lowercase), > and ProFTPd was unable to find home directory for the user, because it > searched for "/home/USERNAME" while the actual directory was > "/home/username". It returned a failure and the user was unable to login. > So I needed also to introduce another patch (I don't have it at hand now, > since I don't work on that server anymore) that lowercases the username > before searching for home directory. You might be able to implement this now, without any patches, using the mod_rewrite module, and RewriteHome; see: http://www.proftpd.org/docs/modules/mod_auth.html#RewriteHome For example, something like this might work for your use case: <IfModule mod_rewrite.c> RewriteEngine on RewriteLog /path/to/rewrite.log # Define a map that uses the internal "tolower" function RewriteMap lowercase int:tolower RewriteCondition %m REWRITE_HOME RewriteRule (.*) ${uppercase:$1} </IfModule> Hope this helps, TJ |
From: Jaroslaw R. <ra...@ra...> - 2023-09-10 20:23:51
|
Dnia 10.09.2023 o godz. 10:49:18 TJ Saunders pisze: > > > recently I needed to configure ProFTPd to authenticate users in Microsoft AD > > domain. I think it's a well-known fact that AD LDAP directory by default > > does not contain any "uidNumber" and "gidNumber" (or equivalent) attribute. > > If you configure system-wide authentication to AD with sssd (according to > > many guides available on the net), it can use a special algorithm to map > > "objectSid" values present in the AD directory to UIDs and GIDs, therefore > > "producing" specific UID/GID values for each user. > > Going through some old emails, I ran across this. I've filed a GitHub issue for tracking this: > > https://github.com/proftpd/proftpd/issues/1716 Thank you. There is however another issue related to this. When I initially implemented this, some users were unable to login, because their usernames were internally stored as uppercase in the AD (while others were lowercase), and ProFTPd was unable to find home directory for the user, because it searched for "/home/USERNAME" while the actual directory was "/home/username". It returned a failure and the user was unable to login. So I needed also to introduce another patch (I don't have it at hand now, since I don't work on that server anymore) that lowercases the username before searching for home directory. I made this lowercasing mandatory, but of course there also can be a configuration setting controlling this. So while I don't have the actual patch right now, I kindly ask you to implement this. -- Regards, Jaroslaw Rafa ra...@ra... -- "In a million years, when kids go to school, they're gonna know: once there was a Hushpuppy, and she lived with her daddy in the Bathtub." |
From: TJ S. <tj...@ca...> - 2023-09-10 18:06:01
|
> recently I needed to configure ProFTPd to authenticate users in Microsoft AD > domain. I think it's a well-known fact that AD LDAP directory by default > does not contain any "uidNumber" and "gidNumber" (or equivalent) attribute. > If you configure system-wide authentication to AD with sssd (according to > many guides available on the net), it can use a special algorithm to map > "objectSid" values present in the AD directory to UIDs and GIDs, therefore > "producing" specific UID/GID values for each user. Going through some old emails, I ran across this. I've filed a GitHub issue for tracking this: https://github.com/proftpd/proftpd/issues/1716 Cheers, TJ |
From: TJ S. <tj...@ca...> - 2023-06-19 17:05:56
|
> If I install the postgresql15-server package, it automatically installs > the postgresql15-client as well. If after that I install > proftpd-mod_sql_postgresql, it uninstalls postgresql15-client, and > installs postgresql13-client instead. This causes all kinds of issues. > BTW I am using FreeBSD 13.1. Hrm. I see. Unfortunately this sounds like an issue with that FreeBSD package definition -- and I'm not sure who the current FreeBSD package maintainers are for ProFTPD. We don't provide packages ourselves, just source code releases. Perhaps someone else here might know how to contact the FreeBSD package maintainers for ProFTPD, to let them know of this issue? Cheers, TJ |
From: <ma...@pa...> - 2023-06-16 18:43:42
|
If I install the postgresql15-server package, it automatically installs the postgresql15-client as well. If after that I install proftpd-mod_sql_postgresql, it uninstalls postgresql15-client, and installs postgresql13-client instead. This causes all kinds of issues. BTW I am using FreeBSD 13.1. On 2023-06-16 13:28, TJ Saunders wrote: >> It seems that mod_sql_postgresql only works with Postgresql up to >> version 13. Is there a way to make it work with version 15? > > What are the issues you're seeing, when using Postgres 15? I'm not > currently aware of anything version-specific in the mod_sql_postgres > module. > > Cheers, > TJ > > > _______________________________________________ > ProFTPD Developers List > <pro...@pr...> > https://lists.sourceforge.net/lists/listinfo/proftp-devel |
From: TJ S. <tj...@ca...> - 2023-06-16 18:28:59
|
> It seems that mod_sql_postgresql only works with Postgresql up to > version 13. Is there a way to make it work with version 15? What are the issues you're seeing, when using Postgres 15? I'm not currently aware of anything version-specific in the mod_sql_postgres module. Cheers, TJ |
From: <ma...@pa...> - 2023-06-16 17:25:19
|
Hi. It seems that mod_sql_postgresql only works with Postgresql up to version 13. Is there a way to make it work with version 15? Thanks, Marc. |
From: Francesco P. L. <fr...@de...> - 2023-06-09 09:43:22
|
On Tue, Oct 09, 2018 at 10:39:25AM -0500, Jared Bents wrote: >I am working on a project that would like to use ftpquota and >ftpasswd. However, Perl is not allowed on the project by the Security >team. Just curious, what is the reason for that special veto? Note that Perl in 2023 is still a base package for any distro, and even a build-essential. Maybe the project is targeted to some type of embedded flavor built in cross-compiling? -- Francesco P. Lovergine |
From: Christian <ch...@co...> - 2023-06-01 07:14:35
|
Am 18.05.23 um 00:31 schrieb TJ Saunders: > The way it works is via the new ServerAlias directive: > > <VirtualHost 1.2.3.4> > Port 21 > ServerAlias myftphost.example.com > TLSEngine on > ... > </VirtualHost> > > <VirtualHost 1.2.3.4> > Port 21 > ServerAlias myotherftphost.example.com > TLSEngine on > ... > </VirtualHost> Thank you. Will try ... -- Christian ------------------------------------------------------------ https://join.worldcommunitygrid.org?recruiterId=177038 ------------------------------------------------------------ http://www.sc24.de - Sportbekleidung ------------------------------------------------------------ |
From: TJ S. <tj...@ca...> - 2023-05-17 22:50:58
|
> Just wondering if it is possible to have a per vhost SSL config, so each > vhost can have its own SSL certificate as it is possible with apache. > > Currently I don't see how this could be established. This should be possible, yes, especially using the latest 1.3.8 release. The way it works is via the new ServerAlias directive: <VirtualHost 1.2.3.4> Port 21 ServerAlias myftphost.example.com TLSEngine on ... </VirtualHost> <VirtualHost 1.2.3.4> Port 21 ServerAlias myotherftphost.example.com TLSEngine on ... </VirtualHost> If you use a DNS name for the <VirtualHost> line, rather than an IP address, ProFTPD automatically adds a "ServerAlias" setting for that name. With these, things should work as you expect. The FTPS-capable client _should_, in its TLS handshake, send the Server Name Indicator (SNI) field, whose name will match one of the named <VirtualHost> sections -- and mod_tls will notice this, and update/use all of that vhost certificates/keys, etc. Hope this helps, TJ |
From: Christian <ch...@co...> - 2023-05-09 09:20:26
|
Hi, using proftpd for a very long time now. Just wondering if it is possible to have a per vhost SSL config, so each vhost can have its own SSL certificate as it is possible with apache. Currently I don't see how this could be established. Thank you for your feedback -- Christian ------------------------------------------------------------ https://join.worldcommunitygrid.org?recruiterId=177038 ------------------------------------------------------------ http://www.sc24.de - Sportbekleidung ------------------------------------------------------------ |
From: TJ S. <tj...@ca...> - 2022-12-04 19:23:39
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ProFTPD community. The ProFTPD Project team is pleased to announce that the final maintenance release for ProFTPD 1.3.7 is now available for public consumption. You can download 1.3.7f, including PGP signatures and SHA256 sums, from the alternate download site, hosted by GitHub: https://github.com/proftpd/proftpd/archive/v1.3.7f.tar.gz Alternatively, you can download proftpd from the main site: ftp://ftp.proftpd.org/distrib/source The 1.3.7f release is a maintenance release, containing various fixes backported from the 1.3.8 development cycle. Please read the included NEWS and ChangeLog files for the full details. The SHA256 sum for the source tarball is: 1177d11367fc2da5d7b5695d3ab0aec434f72e2ab02e154fa61a75a4b0689acf The PGP signature for the source tarball is: proftpd-1.3.7f.tar.gz: -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAmOM8XMACgkQt46JP6URl2p8JACgpdHitMp82z21CGXIX1YIyVTN KP4AoLXY5x07uLo+B8j6xXEQRIAUqH8S =RDRA -----END PGP SIGNATURE----- My PGP key has been used to sign the source tarballs as well as this announcement; it is available via MIT's public keyserver. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEARECAAYFAmOM8akACgkQt46JP6URl2pr/gCfcJi7Ootev4aFBd84BIjpzhnx E3gAn2JZZDPQ2iDk3oZ22GrsqnLnyBDK =ACPO -----END PGP SIGNATURE----- |
From: TJ S. <tj...@ca...> - 2022-12-04 19:04:15
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, ProFTPD community. The ProFTPD Project team is pleased to announce that the stable release for ProFTPD 1.3.8 is now available for public consumption. You can download 1.3.8, including PGP signatures and SHA256 sums, from the alternate download site, hosted by GitHub: https://github.com/proftpd/proftpd/archive/v1.3.8.tar.gz Alternatively, you can download proftpd from the main site: ftp://ftp.proftpd.org/distrib/source The 1.3.8 release includes bugfixes; read the included NEWS and RELEASE_NOTES files for the full details. The SHA256 sum for the source tarball is: f7139e7377a2cb059b8b9b14d76a6df5f440e3181cb15ae890d43bbcae574748 The PGP signature for the source tarball is: proftpd-1.3.8.tar.gz: -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEABECAAYFAmOM6+gACgkQt46JP6URl2qa+ACeK4oy5IjE4ZkJB/eDSLlR8gcP qSYAnAv/q+jD4/XM3BgaxwJGSdISDssd =MhNZ -----END PGP SIGNATURE----- My PGP key has been used to sign the source tarballs as well as this announcement; it is available via MIT's public keyserver. -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iEYEARECAAYFAmOM7FYACgkQt46JP6URl2oqMgCgh3pSR36sLeIgj4KzrJ4hdar9 ll8AnjlC4ULZQgU2fMTCPr2Hvbyv0CFb =xhOm -----END PGP SIGNATURE----- |
From: TJ S. <tj...@ca...> - 2022-11-30 01:06:05
|
Hello, fellow ProFTPD developers. I'd like to ask you all if you run ProFTPD in Kubernetes (k8s), and if so, how? I ask because I'd like to work on a ProFTPD k8s howto doc, containing our combined lessons learned, dos and don'ts. I suspect that more and more sites will be looking to deploy FTP/FTPS/SFTP support alongside their other existing k8s applications, and I think we should help them do so. I'm thinking to cover things like: * ingresses (HAproxy? nginx? ProFTPD + mod_proxy?) * shared state across pods (Redis? Memcache? SQL?) * handling of active/passive data transfers (or maybe it's just passive only?) * metrics/observability (statsd, Prometheus, etc?) * logging Looking forward to hearing from folks! Cheers, TJ |