Amendments on July 4, 2022

crc: Add CRC16 and CRC32 lookup tables

jcs made amendment 181 about 1 year ago

zmodem: Add BSD-licensed ZMODEM implementation from TeraTerm

Lots of internal restructuring by me to keep all state within a
zmodem_session object with callbacks to network/modem functions to
actually do the data sending and receiving.
jcs made amendment 182 about 1 year ago

Amendments on July 7, 2022

crc: Fix UpdateCRC32 macro, move tables into C file

The UpdateCRC32 macro needed explicit casting to fix hash generation
during ZMODEM.
jcs made amendment 183 about 1 year ago

Amendments on July 11, 2022

zmodem: Improve debug logging, do 32-bit CRC, disable overlapping I/O

Since our output and input functions will bypass the telnet code that
escapes or unescapes IACs, add an option to do it here before
interfacing with the send/recv routines.
Interoperability testing with SyncTERM showed that it was too eager
to timeout when we didn't respond fast enough in acceping uploaded
data and writing it, so disable overlapping I/O. This way it won't
send more data to us until we've acked it.
jcs made amendment 186 about 1 year ago

util: Fix return of FIsDir when FStat fails

jcs made amendment 187 about 1 year ago

telnet: When doing file transfers, fast-path to TCP buffer

We're doing IAC escaping in the zmodem code, so just move data
directly into node buffer. Also, avoid memmoving on each read since
the buffer will often have more than one byte in it, just use an
offset into ibuf and only memmove when it's over half full.
jcs made amendment 188 about 1 year ago

zmodem: Bug fixes, remove send/recv abstraction

This doesn't really need to be portable, just call session functions
Reduce state timeouts to 10 seconds, but leave at 30 for the initial
Init state when receiving to give the user time to choose a file to
send us.
Fix IAC escaping on the way out.
jcs made amendment 189 about 1 year ago

Amendments on July 12, 2022

session: A few fixes and improvements

Make session_menu a bit more helpful and hide options with a null key
set, don't repeat "Invalid option" more than once
Add session_get_char for file transfers
jcs made amendment 191 about 1 year ago

signup: user_valid_username returns bool

jcs made amendment 192 about 1 year ago

telnet: Use new is_telnet session flag

jcs made amendment 193 about 1 year ago

folder: Finally integrate with ZMODEM for downloads and uploads

jcs made amendment 194 about 1 year ago

board: Make menu options const, improve prompts

jcs made amendment 195 about 1 year ago

mail+sysop+user_settings: Make menu options const

jcs made amendment 196 about 1 year ago

uthread: Bump stack size to 5K

jcs made amendment 197 about 1 year ago

crc: Add explicit casting to UpdateCRC like UpdateCRC32

jcs made amendment 198 about 1 year ago

board+folder+mail: Trim trailing whitespace from fields

jcs made amendment 199 about 1 year ago