-
src/sbbs3/ftpsrvr.c
From
deuce@VERT to
CVS commit on Fri Mar 16 17:24:00 2018
src/sbbs3 ftpsrvr.c 1.462 1.463
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv12049
Modified Files:
ftpsrvr.c
Log Message:
That was likely supposed to be a semi-colon.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Thu Mar 29 14:02:00 2018
src/sbbs3 ftpsrvr.c 1.464 1.465
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv14790
Modified Files:
ftpsrvr.c
Log Message:
Fix infinite loop with TLS FTP control session.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 5 10:49:00 2018
src/sbbs3 ftpsrvr.c 1.466 1.467
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv24592
Modified Files:
ftpsrvr.c
Log Message:
Initialize estr to NULL in start_tls(), likely cause of free() assert in Windows debug build.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 5 11:26:00 2018
src/sbbs3 ftpsrvr.c 1.467 1.468
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv28101
Modified Files:
ftpsrvr.c
Log Message:
The real apparent fix for the free() assertion: use free_crypt_attrstr() instead
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 5 14:05:00 2018
src/sbbs3 ftpsrvr.c 1.468 1.469
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv23693
Modified Files:
ftpsrvr.c
Log Message:
Fix get_ssl_cert() failure log message (wrong number of arguments).
Put "TLS" in the failure log messages rather than repeating "FTP".
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 5 14:35:00 2018
src/sbbs3 ftpsrvr.c 1.469 1.470
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
ftpsrvr.c
Log Message:
Enable GCC-assisted printf-style format/arg checking for lprintf, sockprintf and send_mlsx().
Fix numerous printf-style argument bugs, many in the TLS and MLSx support.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Apr 8 15:59:00 2018
src/sbbs3 ftpsrvr.c 1.470 1.471
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv27658
Modified Files:
ftpsrvr.c
Log Message:
Bug-fix: The GCES macro already prints and *frees* the error string, so
you can't print and free it again after calling that macro.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Oct 4 17:25:00 2018
src/sbbs3 ftpsrvr.c 1.472 1.473
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv29765
Modified Files:
ftpsrvr.c
Log Message:
Log much more detail upon any file open errors in the ftp server.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Oct 4 19:26:00 2018
src/sbbs3 ftpsrvr.c 1.473 1.474
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv14091
Modified Files:
ftpsrvr.c
Log Message:
Added (or moved) user's name/alias to/in log output to be more consistent
with the terminal and mail servers' log output and provide more details
(e.g. on errors).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Oct 4 19:27:00 2018
src/sbbs3 ftpsrvr.c 1.474 1.475
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
ftpsrvr.c
Log Message:
GCC spotted a formatting error in the previous commit. Fixed.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Oct 4 21:32:00 2018
src/sbbs3 ftpsrvr.c 1.475 1.476
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv13941
Modified Files:
ftpsrvr.c
Log Message:
Don't wait for QWK packet creation if the server has been locally terminated. Double the duration to wait for client threads to terminate. Heck, this might should be an infinite wait since "bad things" happen if the client thread continues after a cleanup().
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Wed Oct 17 08:10:00 2018
src/sbbs3 ftpsrvr.c 1.476 1.477
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
ftpsrvr.c
Log Message:
Deal with some gcc reported printf-use warnings, mainly around 64-bit ints.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Oct 30 20:31:00 2018
src/sbbs3 ftpsrvr.c 1.477 1.478
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21132
Modified Files:
ftpsrvr.c
Log Message:
Fix bug with filename aliases (in ftpalias.cfg) which caused an incompatility with Chrome (the browser). Chrome will attempt to "CWD" to a filename and if that filename was an alias from the ftpalias.cfg, we would return a
successful (213) response - erroneously. The code did appear to check for
this condition by calling ftpalias() with a NULL second (filename)
parameter, but that didn't actually work. The 'alias+1' check for a slash appears to have (always?) been clearly wrong as a prefixed slash is already skipped (in the requested path) before calling ftpalias().
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
mark lewis@VERT to
digital man on Fri Nov 2 17:08:00 2018
On 2018 Oct 31 00:31:28, you wrote to CVS commit:
src/sbbs3 ftpsrvr.c 1.477 1.478
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21132
Modified Files:
ftpsrvr.c
Log Message:
Fix bug with filename aliases (in ftpalias.cfg) which caused an incompatility with Chrome (the browser). Chrome will attempt to "CWD" to a filename and if that filename was an alias from the ftpalias.cfg, we would return a successful (213) response - erroneously.
FWIW: this is how googlebot determines if the link is a file or a directory... they always try to CD to the given name and if that fails, they they do a get... this being via http(s) as well as ftp(s?)...
i appreciate this because it aids in a question that i asked on IRC about how to place files into the virtual '/' directory ;)
)\/(ark
Always Mount a Scratch Monkey
Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
... Everything has already been said.
---
* Origin: (1:3634/12.73)
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Nelgin@VERT/EOTLBBS to
mark lewis on Sat Nov 3 13:15:00 2018
mark wrote:
On 2018 Oct 31 00:31:28, you wrote to CVS commit:
src/sbbs3 ftpsrvr.c 1.477 1.478
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21132
Modified Files:
ftpsrvr.c
Log Message:
Fix bug with filename aliases (in ftpalias.cfg) which caused an
incompatility with Chrome (the browser). Chrome will attempt to "CWD" to a
filename and if that filename was an alias from the ftpalias.cfg, we would
return a successful (213) response - erroneously.
FWIW: this is how googlebot determines if the link is a file or a directory...
they always try to CD to the given name and if that fails, they they do a get... this being via http(s) as well as ftp(s?)...
i appreciate this because it aids in a question that i asked on IRC about how
to place files into the virtual '/' directory ;)
Yup, I asked DM how to do it and he suggested the ftpalias.cfg directory
but when I tried it there were problems when using Chrome, so we were able
to squish a bug at the same time.
---
þ Synchronet þ End Of The Line BBS - endofthelinebbs.com
-
From
rswindell@VERT to
CVS commit on Sun Nov 4 18:39:00 2018
src/sbbs3 ftpsrvr.c 1.478 1.479
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv2867
Modified Files:
ftpsrvr.c
Log Message:
Fixed-up some log output messages:
- user alias was missing from some messages or in the wrong place
- added hostname and IP address to the "ILLEGAL FILENAME ATTEMPT" warnings
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Nov 5 18:50:00 2018
src/sbbs3 ftpsrvr.c 1.479 1.480
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
ftpsrvr.c
Log Message:
Fix bug introduced in rev 1.478 which prevented aliased directories from
being CWD'd (chdir'd) into.
I resisted the temptation to convert ftpalias.cfg to a different (sane)
format (e.g. .ini) at this time, but that really should be done.
Oh, and I noticed that aliases don't work with "DIR" wildcards, so that's a
bug that needs fixing too.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Nov 17 01:55:00 2018
src/sbbs3 ftpsrvr.c 1.480 1.481
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv5133
Modified Files:
ftpsrvr.c
Log Message:
Fix a couple of problems introduced in the recent ftpalias() churn:
- a CWD attempt to a /alias/filename would report 'success' to the client
(Chrome web browser)
- the ftpalias.cfg file was left open in some instances
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Nov 18 01:53:00 2018
src/sbbs3 ftpsrvr.c 1.481 1.482
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv27429
Modified Files:
ftpsrvr.c
Log Message:
Hackety-hack-hack... hack
So I tested the following cases, which all pass:
cwd diralias -> 250 CWD command successful.
cwd /diralias -> 250 CWD command successful.
cwd /diralias/ -> 250 CWD command successful.
cwd /diralias/filename -> 550 filename: No such directory.
cwd /filealias -> 550 filealias: No such diretory.
cwd /filealias/ -> 550 : No such diretory.
retr filealias -> 150 Opening BINARY mode data connection for file transfer. retr /filealias -> 150 Opening BINARY mode data connection for file transfer.
Hopefully is the end of the fixes for Chrome browser ftp weirdness
(tries to "CWD" to anything/everything to determine if it's a file or not).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Jan 4 09:12:00 2019
src/sbbs3 ftpsrvr.c 1.483 1.484
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv18830
Modified Files:
ftpsrvr.c
Log Message:
Log the currently logged-in user name along with any "!ERROR ... removing" error messages.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Jan 11 19:52:00 2019
src/sbbs3 ftpsrvr.c 1.484 1.485
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv2461
Modified Files:
ftpsrvr.c
Log Message:
Optimized all directory listings and index generation:
- use GLOB_MARK to eliminate calls to isdir() in loops
- use stat() rather than calls to flength() and fdate()
- don't call getfiledat() if getfileixb() failed
- profiling info-level log msgs added for index/listing generation, e.g.
"detailed listing (3459 bytes) of /main/SBBS (45 files) created in 2 seconds"
Fixed bug with indexes generated for directories with the
"Access Files Not In Database" option enabled, files not in database were excluded from the generated index (e.g. 00index, 00index.html).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Jan 11 21:29:00 2019
src/sbbs3 ftpsrvr.c 1.485 1.486
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv19961
Modified Files:
ftpsrvr.c
Log Message:
Fix some new issues due to use of GLOB_MARK:
getfname() on a path that ends in a slash, returns an empty string pointer. Fixed-up some logging output around listing creations.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Jan 17 20:14:00 2019
src/sbbs3 ftpsrvr.c 1.486 1.487
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv3268
Modified Files:
ftpsrvr.c
Log Message:
Further optimization for directory index and listing generation: if "Check for File Existence" is disabled (in SCFG->File Areas... Toggle Options), then don't check the disk for the file's existence, size, or date/time.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Tue May 7 10:12:33 2019
src/sbbs3 ftpsrvr.c 1.489 1.490
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv10196
Modified Files:
ftpsrvr.c
Log Message:
Fix crash introduced in 1.485.
When the command is MLST, fp is NULL, so should not be passed to ftell().
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Thu May 30 16:31:13 2019
src/sbbs3 ftpsrvr.c 1.490 1.491
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv25642
Modified Files:
ftpsrvr.c
Log Message:
Fix bug where Synchronet FTP Server %s-%s Ready message did not have a
reply code. Maybe this used to be on the same line as the BBS name?
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Digital Man@VERT to
deuce on Thu May 30 21:18:10 2019
Re: src/sbbs3/ftpsrvr.c
By: deuce to CVS commit on Thu May 30 2019 08:31 pm
src/sbbs3 ftpsrvr.c 1.490 1.491
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv25642
Modified Files:
ftpsrvr.c
Log Message:
Fix bug where Synchronet FTP Server %s-%s Ready message did not have a
reply code. Maybe this used to be on the same line as the BBS name?
No, I think you're misreading the FTP spec (RFC959):
Thus the format for multi-line replies is that the first line
will begin with the exact required reply code, followed
immediately by a Hyphen, "-" (also known as Minus), followed by
text. The last line will begin with the same code, followed
immediately by Space <SP>, optionally some text, and the Telnet
end-of-line code.
digital man
Synchronet/BBS Terminology Definition #12:
CBM = Commodore Business Machines
Norco, CA WX: 55.6øF, 95.0% humidity, 2 mph ESE wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Fri May 31 04:39:17 2019
src/sbbs3 ftpsrvr.c 1.491 1.492
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv28963
Modified Files:
ftpsrvr.c
Log Message:
Revert previous change. NetLogger has the bug, not Synchronet.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Apr 17 07:44:32 2020
src/sbbs3 ftpsrvr.c 1.497 1.498
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv1115
Modified Files:
ftpsrvr.c
Log Message:
Increase the size of the buffer used to format the download notification short messages (telegrams) from 128 to 256 bytes to resolve observed truncation of download notification messages like this:
"Guns N Roses - Hotel Brawl Jam (Live).mp3 was FTP-downloaded by Guest [89.245.6.
199]
You were awarded 2,057,356 cred"
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue May 26 21:23:39 2020
src/sbbs3 ftpsrvr.c 1.498 1.499
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv30088
Modified Files:
ftpsrvr.c
Log Message:
Log the user name or IP address in more places.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Aug 15 08:15:39 2020
src/sbbs3 ftpsrvr.c 1.500 1.501
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv23645
Modified Files:
ftpsrvr.c
Log Message:
More file existence/length checks, with only a WARNING log level (not error) since some QWKnet nodes apparently like to start concurrent QWK packet downloads and inevitably one finishes first, deleting the file, and the second transfer logs and error. Examples:
8/14 08:10:06p 2296 <EPHRAM> downloading QWK packet (1320 bytes) in passive mode
8/14 08:10:06p 3792 <EPHRAM> downloading QWK packet (1320 bytes) in passive mode
8/14 08:10:06p 2296 <EPHRAM> DATA Transfer successful: 1320 bytes sent in 0 seconds (2640 cps)
8/14 08:10:06p 3792 <EPHRAM> !DATA ERROR 2 (No such file or directory) line 1376 opening s:\sbbs\data\file/0888.qwk
8/14 11:28:55p 2576 <POTOGOLD> downloading QWK packet (27129 bytes) in passive mode
8/14 11:28:55p 2576 <POTOGOLD> DATA Transfer successful: 27129 bytes sent in 0 seconds (54258 cps)
8/14 11:28:55p 1924 <POTOGOLD> downloading QWK packet (4294967295 bytes) in passive mode
8/14 11:28:56p 1924 <POTOGOLD> !DATA ERROR 2 (No such file or directory) line 1376 opening s:\sbbs\data\file/0168.qwk
Also some more 64-bit file length support (flength returns an off_t now, not a ulong).
And ftell() returns a long (not a ulong).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Sat Oct 24 18:06:02 2020
https://gitlab.synchro.net/sbbs/sbbs/-/commit/10477fe29378aebb82b8efd2
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Create the pack*.now with fmutex() to prevent simultaneous QWK packs
Probably only a problem on Vertrauen, but some QWKnet nodes, for some unknown reason, like to FTP-connect multiple times concurrently and request to download a QWK packet. This creates a race condition where the QWK packet gets created/downloaded/deleted before the second FTP connection can successfully download the same file, thus logging an error "opening file " on the server (VERT). So if the pack*.now file already exists, reject the download request. "What are doing?" is what I really want to ask these nodes, but better just throw them an error response and quietly move on.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Tue Dec 29 18:51:44 2020
https://gitlab.synchro.net/main/sbbs/-/commit/31d07482c7dc81b1af72e495
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Remove 3 second delay before disconnecting when max clients reached
This seems to be misguided and would only increase the chances of a DoS-type attack on TCP session resources.
A second 3-second delay upon malloc failure is also removed.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Wed Dec 30 21:23:34 2020
https://gitlab.synchro.net/main/sbbs/-/commit/dcb003099daa5b03e53542d4
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Log messages indicating AUTH TLS success or failure and set client prot
Set the client protocol to "FTPS" upon successful TLS startup in the control connection (response to the AUTH TLS command from the client). Log some messages indicating FTPS was attempted or successful.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Jan 9 08:44:06 2021
https://gitlab.synchro.net/main/sbbs/-/commit/3ead8a4d227af07c81c2c8e5
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Don't delete pack####.now upon FTP-logoff
When a user logins to the FTP server concurrently, this creates a
race condition with an/the other FTP session that may be creating/
downloading a QWK packet. On Vertrauen, this results in the
occasional error removing the file since it was removed unexpectedly:
!ERROR 2 (No such file or directory) in main.cpp line 2747 (event_thread) removing "/sbbs/data/pack1111.now" access=0
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Fri Feb 19 04:32:09 2021
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Mar 8 06:41:21 2021
https://gitlab.synchro.net/main/sbbs/-/commit/b62505add30804e8c6a6fb79
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Remove extraneous (void) typedefs
See if this resolves rjwboys reported error:
threadwrap.h:204:42: error: expected expression before `do'
#define protected_uint32_init(pval, val) atomic_init(pval, val)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Jun 7 16:14:25 2021
https://gitlab.synchro.net/main/sbbs/-/commit/6fee19566f510a9c5cda36a4
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Detect TLS startup errors correct/fully
We can't (apparently) only rely on the return value of start_tls(), we have to check the value of the crypt session too.
This fix the possibility of this happening:
Jun 7 18:07:26 sbbs synchronet: ftp 0058 TLS ERROR 'No permiss.to perform this operation' (-21) opening keyset
Jun 7 18:07:26 sbbs synchronet: ftp 0058 <192.168.1.25> initialized TLS successfully
Instead, we'll detect the failure and disable FTPS support, logging "failed to initialize TLS successfully".
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Sep 18 13:02:24 2021
https://gitlab.synchro.net/main/sbbs/-/commit/bb1ee45982174c3a0a73ce1e
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix segfault reported with ftpalias.cfg support in some cases
ftpalias() can return true even when the directory is not set to a valid directory index (i.e. set to -1), so using as an array index would definitely segfault. Part of commit 8ad30b6c by Deuce 3 years ago.
I didn't test this as I'm not sure exactly the combination of ftpalias.cfg content and FTP command received that would trigger this, but it's most definitely a bug.
So should fix the segfault reported in issue #288.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Sep 18 18:22:14 2021
https://gitlab.synchro.net/main/sbbs/-/commit/15906e19c9b0b832027ce673
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Handle FTP requests for paths that start with "/./"
Midnight Commander (mc) apparently sends requests like this for files
(e.g. aliases) in the virtual root directory.
Fixes another part of the reported issue #288.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Dec 5 13:42:38 2021
https://gitlab.synchro.net/main/sbbs/-/commit/17a67ee9d95051145677ec52
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix FTPS upload failure: !DATA ERROR 0 receiving on data socket
Don't treat CRYPT_ERROR_COMPLETE (-24) as a socket error during upload since it's an indication that the remote closed the connection and is the normal "end of file/transfer" indicator, not an error. 'rd' is already 0 in this case, so no need to set at all (since recv() returns 0 upon disconnect and that's what we're emulating here).
Fixes issue #309 reported by Jas Hud.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
MRO@VERT/BBSESINF to
Rob Swindell on Mon Dec 6 08:35:33 2021
Re: src/sbbs3/ftpsrvr.c
By: Rob Swindell to Git commit to main/sbbs/master on Sun Dec 05 2021 06:42 pm
https://gitlab.synchro.net/main/sbbs/-/commit/17a67ee9d95051145677ec52 Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix FTPS upload failure: !DATA ERROR 0 receiving on data socket
Don't treat CRYPT_ERROR_COMPLETE (-24) as a socket error during upload since it's an indication that the remote closed the connection and is the normal "end of file/transfer" indicator, not an error. 'rd' is already 0 in this case, so no need to set at all (since recv() returns 0 upon disconnect and that's what we're emulating here).
Fixes issue #309 reported by Jas Hud.
i cant upload files using any protocol on your bbs and cvs.synchro.net
---
þ Synchronet þ ::: BBSES.info - free BBS services :::
-
From
Digital Man@VERT to
MRO on Mon Dec 6 08:20:33 2021
Re: src/sbbs3/ftpsrvr.c
By: MRO to Rob Swindell on Mon Dec 06 2021 01:35 pm
Fixes issue #309 reported by Jas Hud.
i cant upload files using any protocol on your bbs and cvs.synchro.net
Working for me (now). I replied to your emails about this already. I appreciate your continued testing.
Don't try to use SyncTERM v1.2b for uploads (they don't work).
--
digital man (rob)
Synchronet/BBS Terminology Definition #14:
CGA = Color Graphics Adapter (IBM)
Norco, CA WX: 72.0øF, 35.0% humidity, 8 mph NNW wind, 0.00 inches rain/24hrs ---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
MRO@VERT/BBSESINF to
Digital Man on Tue Dec 7 09:58:09 2021
Re: src/sbbs3/ftpsrvr.c
By: Digital Man to MRO on Mon Dec 06 2021 01:20 pm
Re: src/sbbs3/ftpsrvr.c
By: MRO to Rob Swindell on Mon Dec 06 2021 01:35 pm
Fixes issue #309 reported by Jas Hud.
i cant upload files using any protocol on your bbs and cvs.synchro.net
Working for me (now). I replied to your emails about this already. I appreciate your continued testing.
Don't try to use SyncTERM v1.2b for uploads (they don't work).
yeah i tried to delete this msg but it already sent.
i'm using 1.1b win32 of syncterm
---
þ Synchronet þ ::: BBSES.info - free BBS services :::
-
From
Digital Man@VERT to
MRO on Tue Dec 7 14:45:13 2021
Re: src/sbbs3/ftpsrvr.c
By: MRO to Digital Man on Tue Dec 07 2021 02:58 pm
Re: src/sbbs3/ftpsrvr.c
By: Digital Man to MRO on Mon Dec 06 2021 01:20 pm
Re: src/sbbs3/ftpsrvr.c
By: MRO to Rob Swindell on Mon Dec 06 2021 01:35 pm
Fixes issue #309 reported by Jas Hud.
i cant upload files using any protocol on your bbs and cvs.synchro.net
Working for me (now). I replied to your emails about this already. I appreciate your continued testing.
Don't try to use SyncTERM v1.2b for uploads (they don't work).
yeah i tried to delete this msg but it already sent.
i'm using 1.1b win32 of syncterm
1.1 was released over a year ago. That's the supported/known-working version. 1.1b (for SyncTERM) means "beta" or pre-1.1.
--
digital man (rob)
This Is Spinal Tap quote #39:
Female Airport Security Officer: Do you have any artificial plates or limbs? Norco, CA WX: 54.1øF, 85.0% humidity, 0 mph SSW wind, 0.00 inches rain/24hrs ---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
MRO@VERT/BBSESINF to
Digital Man on Wed Dec 8 00:14:29 2021
Re: src/sbbs3/ftpsrvr.c
By: Digital Man to MRO on Tue Dec 07 2021 07:45 pm
yeah i tried to delete this msg but it already sent.
i'm using 1.1b win32 of syncterm
1.1 was released over a year ago. That's the supported/known-working version. 1.1b (for SyncTERM) means "beta" or pre-1.1.
yeah, it works for what i use it for so i'm not going to upgrade.
it's not bombing out on me during connections.
---
þ Synchronet þ ::: BBSES.info - free BBS services :::
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Jan 10 17:27:52 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Jan 31 06:58:42 2022
https://gitlab.synchro.net/main/sbbs/-/commit/658773d65b44452a84a696fb
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Log the full path for rejected uploads based on directory
The logged error "!attempted to upload to invalid directory" did log the actual path that was attempted to be uploaded.
Added some quotes around other logged paths.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Jan 31 07:20:26 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Jan 30 16:00:04 2023
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Thu Feb 2 17:51:37 2023
https://gitlab.synchro.net/main/sbbs/-/commit/8e94a448a7346a36d4a85dbe
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix uploader-notification, credit awards, download-counters in FTP downloads
Since v3.19 (the new filebases), when a user FTP-downloaded a file, we failed to properly find/load that file's record from the filebase (searching for the file's full path, rather than just the filename), so the code the increments the file's download counter, notifies the uploader, awards credits, etc. did not ever execute. This means that FTP-downloads for all files downloaded via FTP were effectively "free" (and nobody noticed). No error was logged either.
I discovered this while debugging the case of "(null)" filenames in the action/download MQTT topic messages being published by the FTP server. So
that issue is fixed as part of this commit as well.
Oh, and if this code had executed before, it would have memory-leaked the
file information, so that's fixed too (added call to smb_freefilemem). Ugh.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Thu Feb 9 12:43:11 2023
-
From
Rob Swindell (on ChromeOS)@VERT to
Git commit to main/sbbs/master on Sat Mar 18 19:40:18 2023
https://gitlab.synchro.net/main/sbbs/-/commit/448e18156d14b0b8a2bb535a
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Add free disk space check against minimum space configured
Disallow uploads when free disk space falls below minimum configured
minimum free disk space.
This fixes issue #535
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on ChromeOS)@VERT to
Git commit to main/sbbs/master on Sat Mar 18 19:40:18 2023
https://gitlab.synchro.net/main/sbbs/-/commit/36fea1c5acf774be516d1df6
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Limit uploaded file sizes, accounting for free disk space
The lower of the configured maximum file size (for the FTP server) and
the available disk space minus the configured minimum free disk space
is used as the maximum file size to allow upload. Appended files
are accounted for too.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (in GitKraken)@VERT to
Git commit to main/sbbs/master on Fri Mar 24 12:01:53 2023
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Thu Apr 13 18:45:54 2023
https://gitlab.synchro.net/main/sbbs/-/commit/3e2c3176de6108c697d25a69
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix false "SUSPECTED BOUNCE ATTACK ATTEMPT" for IPv6 FTP-data connections
This bug only impacted non-passive FTP connections. Using an FTP client
with active (not passive) data connections over an IPv6 connection would false-trigger the "bounce attack" detection and the FTP server responded with "504 Bad port number" and logged a hack attempt in data/hack.log.
The issue was that we were comparing the socket address structure (which contains other fields besides the address itself) between the control and proposed-data connections. While this logic worked okay for IPv4,
it did not for IPv6 (the 2 structs contained some non-address differences). Rather than modify the socket address structures to match where needed, I'm just comparing the string representation of the addresses, since that's
what we really care about anyway.
Thank to "mark i" of Truck Stop BBS for alerting me to this issue
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sun Nov 12 16:47:50 2023
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Tue Jan 9 17:20:47 2024
https://gitlab.synchro.net/main/sbbs/-/commit/339599be4e8c05ed8e3fabe9
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix MSLT and MSLD response for QWK packet filename in root directory
Reusing the variable 'str' here for multiple purposes meant the QWK packet filename was overwritten by the owner name (the system's BBS-ID):
mlsd
229 Entering Extended Passive Mode (|||2001|)
150 Opening ASCII mode data connection for MLSD.
Type=file;Perm=r;UNIX.ownername=VERT; 00index
Type=cdir;Perm=elc;UNIX.ownername=VERT; /
Type=file;Perm=r;UNIX.ownername=VERT; VERT
That last file there should have been "VERT.qwk"
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Tue Jan 9 17:20:47 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Tue Jan 9 17:20:47 2024
https://gitlab.synchro.net/main/sbbs/-/commit/bb4ccdaad2c07262560ddab9
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Restore ftpalias.cfg support for MLSx commands
Support was accidentally removed as part of commit 0d01544d, meaning
the ftpalias.cfg wasn't used at all in responses to the MLSx commands as reported by Max (WESTLINE) using Total Commander, FileZilla and Directory
opus. The traditional "LIST" commands still worked fine with ftpalias.cfg contents just fine.
The reason this code was accidentally removed was due to the errant
copy/pasted comparison with startup->html_index_file that did not belong here and made the block appear related to HTML index file generation. It was not. This was just a bug in the initial implementation of MLSx support in
commit d4deb4b3.
Also included in this commit:
- Return the date/size of the user's QWK packet file, if it exists, in MLSx
response.
- send_mlsx_entry() won't report negative time_t values as file modify dates
(flength returns -1 upon failure/file-not-found).
- get_owner_name() returns the string, making it easier to use in function
calls.
There appears to still be some work to do to make the MLSx commands fully compliant with RFC 3659 (e.g. "mlst filename" from ftpalias.cfg should work
but does not), but at least FileZilla displays ftpalias.cfg files and directories correctly now.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Wed Feb 7 13:41:41 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Wed Mar 20 20:31:50 2024
https://gitlab.synchro.net/main/sbbs/-/commit/0ca7156dc5215b928bf5a689
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Reduce log severity of QWK-packet removal error log message to WARNING
This allows each call to ftp_remote() to specify the log level for any remove failure. All others file-removal failures will continue to log at ERROR level.
I get this particular (harmless) error a lot, so just reducing to warning:
ftp ... !ERROR 13 (Permission denied) (line 860) removing file: path/to/*.qwk
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Mar 21 21:56:39 2024
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Tue Oct 22 14:15:38 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Tue Oct 22 17:20:46 2024
https://gitlab.synchro.net/main/sbbs/-/commit/17912ca377006ca652483b1e
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
IP addresses are logged (most) everywhere else in square brackets
There are still places where it could be logged in <> (if username is not yet known).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sat Nov 16 19:16:05 2024
https://gitlab.synchro.net/main/sbbs/-/commit/ffba326dad6263eedc29ed94
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Fix the "ERROR x getting data user y" log message (usernum was 0).
Add the errno value to help root-cause.
We really should be using safe_strerror() everywhere.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sat Nov 16 20:08:50 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sun Nov 17 03:11:30 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Mon Nov 18 01:50:47 2024
https://gitlab.synchro.net/main/sbbs/-/commit/8b4d02103bb4a63ffcc360f3
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Correct initialization of fmutex_t so the file descriptor is -1
For some reason, MSVC was initializing the time_t (second element of the struct) to -1, not the int fd (the first element), which was initialized to
0. Weird.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Digital Man@VERT to
Rob Swindell (on Windows 11) on Mon Nov 18 12:01:14 2024
Re: src/sbbs3/ftpsrvr.c
By: Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Mon Nov 18 2024 01:50 am
For some reason, MSVC was initializing the time_t (second element of the struct) to -1, not the int fd (the first element), which was initialized to 0. Weird.
Actually, this assessment was wrong. fmutex_open() was memsetting the fmutex_t to zero.
--
digital man (rob)
Synchronet/BBS Terminology Definition #88:
UART = Universal Asynchronous Receiver/Transmitter
Norco, CA WX: 61.5øF, 38.0% humidity, 2 mph W wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Wed Jan 15 20:09:08 2025
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Tue Feb 4 19:16:47 2025
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Fri Feb 14 21:58:39 2025
https://gitlab.synchro.net/main/sbbs/-/commit/b4a4a524160fb705bd740506
Modified Files:
src/sbbs3/ftpsrvr.c
Log Message:
Ignore MKD/XMKD commands from users (pretend successful)
For non-Guest users (without the 'U' restriction), if the FTP client
sends the MKD or XMKD command, just return the proper succcess result
and do nothing (don't log as a hack attempt or return a syntax error
result).
Some FTP clients (e.g. Reolink Doorbell camera) just always try to
blindly create a directory before uploading files, but if that command
fails (as we would), the upload is aborted. So pretend to create the
diretory whether it already exists or not, just so the client will
proceed with the upload.
For G or U restricted users, treat (log) as hack-attempt, as before.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sat Mar 1 15:05:35 2025