- Apr 16, 2021
-
-
Rob Swindell authored
Reported by Daryl Stout (TBOLT)
-
Rob Swindell authored
Return int value for "string not found" rather than crash/segfault. Seems the better option.
-
- Apr 15, 2021
-
-
Rob Swindell authored
Addresses CID 319116 and 319090
-
- Apr 14, 2021
-
-
Rob Swindell authored
This started with a Coverity issue (CID 33230) which got me looking at this function and wondering: why is str2 being NUL-terminated here? Why is the length of str2 to be calculated on successive lines? What is with this (long)((long)((long)((long)) typecast? This was some of the oldest code in Synchronet (along with a lot of the other functions in this file). I tried to keep as much intact as possible while still improving the logic and readability.
-
Rob Swindell authored
Do nothing if online != ON_REMOTE. Eliminates some if(online == ON_REMOTE) clauses.
-
Rob Swindell authored
Some QWKnet vote messages are failing: evnt unpackREP <ENSEMBLE> !ERROR 2 (No such file or directory) in qwk.cpp line 1146 (qwk_vote) writing "/sbbs/data/subs/dove-gen" access=-105 info=smb_addvote thread_back field missing Catch this problem a little higher up (in votemsg()) and log the message's reply-IDs to help determine what's the root-cause here. Don't bother calling smb_addvote() if thread_back is 0.
-
- Apr 13, 2021
-
-
Deucе authored
If a callback deletes the one-shot event that invoked it, the event pointer in the caller would be to free()d memory with hilarious results.
-
echicken authored
-
echicken authored
Upon connecting, a client will be sent a list of who's online on the local BBS as well as other systems (if you and they are set up for instant messaging). Updates will be sent for subsequent events (logon, update, logoff). Mostly intended for use by local consumers; you probably don't need to open any ports for this. Nothing uses this at the moment and you do not need to add it to your config. Eventually it'll bring interBBS presence and messaging back to webv4 and probably introduce a fancier textmode imsg module.
-
Rob Swindell authored
CID 319108
-
Rob Swindell authored
CID 331092
-
Rob Swindell authored
-
- Apr 12, 2021
-
-
Deucе authored
Properly throw an error instead.
-
Rob Swindell authored
-
Rob Swindell authored
Fixes issue #252.
-
Deucе authored
Just don't check the python version at all. If your python is older than 2.5, you're already having other issues.
-
Rob Swindell authored
-
Rob Swindell authored
but round-up non-zero values to 1K.
-
echicken authored
-
echicken authored
-
echicken authored
Appended very important trailing linefeed.
-
Rob Swindell authored
It's a wrapper for filedat.c -> format_filename() which can truncate and pad a filename for display purposes.
-
- Apr 10, 2021
-
-
Deucе authored
-
- Apr 08, 2021
-
-
Rob Swindell authored
The biggest difference is that you can combine all files from multiple dirs into a single sorted list and you can sort on any property (field) value. The byte/credit format is very customizeable, the output format is completely customizeable. By default, just the filenames are output, but either use '-ext' or one or more '-v' values to add more fields. Use -p=list to specify a comma-separated list of properties to print.
-
Rob Swindell authored
Instead, return the fractional size in KB's with 2 digits of precision. Fixed up some of the variable names.
-
Deucе authored
-
Deucе authored
Prevents weird issues with getting remote address.
-
Rob Swindell authored
When only reading the index (detail = file_detail_index), smb_getfile() just sets the file->name convenience pointer to point to the name in the index. Then when loadfiles() would sort the list, these pointers would not be adjusted (so they would point to the wrong names) resulting in a corrupted file list (e.g. name/size mismatches and no logical sort order). The solution is to call smb_getfile() on each file *after* the read index records have been sorted. This also means that the sort-by-name routines needed to always sort using the index name and not the convenience pointer (which is NULL in this case). While fixing this, I noticed there was no bounds checking in the loadfiles() and loadfilenames() read-loops, so if the indexes happened to be longer than the total_files value from the status header, a buffer under-alloc/overflow would occur and a likely crash as a result. So stop reading the index when the expected maximum number of index records have been read.
-
- Apr 07, 2021
-
-
echicken authored
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Returns a floating-point formatted size estimate more in-line with my preference (e.g. 17.0G instead of 17,000M).
-
Rob Swindell authored
-
Deucе authored
Fix bseen calculation and saving Only save seen data after all repsonses have been sent Stop processing when the socket has been closed
-
Rob Swindell authored
Can find duplicate files in your file bases by name and/or hash sum - fast! Can output simple text or JSON format. Run 'jsexec dupefind' to search just for duplicate files by hash (SHA-1) or run 'jsexec dupefind -help' for the various usage options.
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Adds from/tags/desc/extdesc properties, even when absent or blank. When parsing a file object, set the from, desc, tags and cost properties only if they already have been set or the new values is non-blank/0.
-
Rob Swindell authored
-