• src/sbbs3/writemsg.cpp

    From rswindell@1:103/705 to CVS commit on Fri Jan 12 14:23:55 2018
    src/sbbs3 writemsg.cpp 1.118 1.119
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv10070

    Modified Files:
    writemsg.cpp
    Log Message:
    Removed unused variable.

    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 9 22:19:47 2018
    src/sbbs3 writemsg.cpp 1.120 1.121
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv17743

    Modified Files:
    writemsg.cpp
    Log Message:
    Fix warning.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 9 22:20:47 2018
    src/sbbs3 writemsg.cpp 1.121 1.122
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv17886

    Modified Files:
    writemsg.cpp
    Log Message:
    And another of the same warnings.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Oct 28 23:36:55 2018
    src/sbbs3 writemsg.cpp 1.127 1.128
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv2442

    Modified Files:
    writemsg.cpp
    Log Message:
    Addressed issue introduced in last commit:
    File not found.
    d:\sbbs\text\menu/msgtabs.asc

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Nov 8 16:32:47 2018
    src/sbbs3 writemsg.cpp 1.129 1.130
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Every get disconnected in the middle of writing a message (post or email)
    and maybe lose all that eloquent prose you've painstakingly written? Well, Synchronet will now save your unsaved draft (assuming your editor saves it before exiting due to disconnetion) and will give you the option of
    restoring that draft when you attempt to email or post again within 48
    hours. The message's subject is saved/restored along with the draft body
    text as well. Drafts older than 48 hours are just ignored. This duration
    is currently hardcoded, but that could easily be changed.


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to rswindell on Thu Nov 8 17:18:08 2018
    Re: src/sbbs3/writemsg.cpp
    By: rswindell to CVS commit on Thu Nov 08 2018 04:32 pm

    writemsg.cpp
    Log Message:
    Every get disconnected in the middle of writing a message (post or email) and maybe lose all that eloquent prose you've painstakingly written? Well, Synchronet will now save your unsaved draft (assuming your editor saves it before exiting due to disconnetion) and will give you the option of restoring that draft when you attempt to email or post again within 48 hours. The message's subject is saved/restored along with the draft body text as well. Drafts older than 48 hours are just ignored. This duration is currently hardcoded, but that could easily be changed.

    It sounds like the editor would need to support saving a user's message in order to enable this feature? Are there any details on how that is to be implemented in a message editor?

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Thu Nov 8 18:02:54 2018
    Re: src/sbbs3/writemsg.cpp
    By: Nightfox to rswindell on Thu Nov 08 2018 05:18 pm

    Re: src/sbbs3/writemsg.cpp
    By: rswindell to CVS commit on Thu Nov 08 2018 04:32 pm

    writemsg.cpp
    Log Message:
    Every get disconnected in the middle of writing a message (post or email) and maybe lose all that eloquent prose you've painstakingly written? Well, Synchronet will now save your unsaved draft (assuming your editor saves it before exiting due to disconnetion) and will give you the option of restoring that draft when you attempt to email or post again within 48 hours. The message's subject is saved/restored along with the draft body text as well. Drafts older than 48 hours are just ignored. This duration is currently hardcoded, but that could easily be changed.

    It sounds like the editor would need to support saving a user's message in order to enable this feature? Are there any details on how that is to be implemented in a message editor?

    The editor, if it detects disconnection, just needs to save the currently edited file before exiting (and returning a non-zero error level/exit code). fseditor.js just needed a minor tweak to support this. I'm not sure about all the other external editors out there.

    digital man

    Synchronet/BBS Terminology Definition #46:
    NUL = ASCII 0
    Norco, CA WX: 69.1°F, 10.0% humidity, 2 mph NE wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Nov 8 19:19:14 2018
    src/sbbs3 writemsg.cpp 1.130 1.131
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv18887

    Modified Files:
    writemsg.cpp
    Log Message:
    Store the draft message creation time stamp (just informational for now) and log a message when a draft message is saved.

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Nov 8 21:52:50 2018
    src/sbbs3 writemsg.cpp 1.131 1.132
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv3438

    Modified Files:
    writemsg.cpp
    Log Message:
    Don't save/restore 0-byte draft-messages.
    More log output when saving/restoring drafts of if there is an error doing so.

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Fri Nov 9 10:02:17 2018
    Re: src/sbbs3/writemsg.cpp
    By: Digital Man to Nightfox on Thu Nov 08 2018 06:02 pm

    The editor, if it detects disconnection, just needs to save the currently edited file before exiting (and returning a non-zero error level/exit code). fseditor.js just needed a minor tweak to support this. I'm not sure about all the other external editors out there.

    I'll have to see how fseditor.js is implementing it. Does this feature support multiple save files? For instance, in case a user logs on and starts replying to one message and gets disconnected, then logs in again and starts replying to a different message and gets disconnected. Or is it just whatever message got saved last?

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Fri Nov 9 15:25:34 2018
    Re: src/sbbs3/writemsg.cpp
    By: Nightfox to Digital Man on Fri Nov 09 2018 10:02 am

    Re: src/sbbs3/writemsg.cpp
    By: Digital Man to Nightfox on Thu Nov 08 2018 06:02 pm

    The editor, if it detects disconnection, just needs to save the currently edited file before exiting (and returning a non-zero error level/exit code). fseditor.js just needed a minor tweak to support this. I'm not sure about all the other external editors out there.

    I'll have to see how fseditor.js is implementing it.

    This is pretty much it:

    if(!bbs.online) {
    save_file();
    return 1; // aborted
    }

    Does this feature
    support multiple save files? For instance, in case a user logs on and starts replying to one message and gets disconnected, then logs in again and starts replying to a different message and gets disconnected. Or is it just whatever message got saved last?

    It'll save one draft per user per sub (or mail). I've contemplated even making the "to" name part of the saved-draft naming, but haven't gone that far. This is all invisible to the message editor (it just sees/edits the normal input.msg file or whatever).

    digital man

    Synchronet "Real Fact" #56:
    Synchronet Terminal Server introduced SecureShell (SSH) support w/v3.14a (2006).
    Norco, CA WX: 74.5°F, 6.0% humidity, 6 mph ENE wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Fri Nov 9 17:09:03 2018
    Re: src/sbbs3/writemsg.cpp
    By: Digital Man to Nightfox on Fri Nov 09 2018 03:25 pm

    It'll save one draft per user per sub (or mail). I've contemplated even making the "to" name part of the saved-draft naming, but haven't gone that far. This is all invisible to the message editor (it just sees/edits the normal input.msg file or whatever).

    SlyEdit currently doesn't save on disconnection, so I'll have to make an update for it to do that when I have some time to do so.

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Fri Nov 9 21:21:45 2018
    Re: src/sbbs3/writemsg.cpp
    By: Nightfox to Digital Man on Fri Nov 09 2018 05:09 pm

    Re: src/sbbs3/writemsg.cpp
    By: Digital Man to Nightfox on Fri Nov 09 2018 03:25 pm

    It'll save one draft per user per sub (or mail). I've contemplated even making the "to" name part of the saved-draft naming, but haven't gone that far. This is all invisible to the message editor (it just sees/edits the normal input.msg file or whatever).

    SlyEdit currently doesn't save on disconnection, so I'll have to make an update for it to do that when I have some time to do so.

    It seems most editors don't save changes on disconnect. Oh well,

    digital man

    This Is Spinal Tap quote #37:
    David St. Hubbins: We are Spinal Tap from the UK - you must be the USA!
    Norco, CA WX: 59.9°F, 15.0% humidity, 0 mph WSW wind, 0.00 inches rain/24hrs --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Dec 7 14:39:19 2018
    src/sbbs3 writemsg.cpp 1.132 1.133
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Always delete the quotes file (e.g. QUOTES.TXT) before deciding if we are
    going to recover a draft message or quote a source message or whatever. Lingering QUOTES.TXT files interferred with recovering draft messages.


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Dec 7 14:53:23 2018
    src/sbbs3 writemsg.cpp 1.133 1.134
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Fix the previous commit: the original message is quotes (and QUOTES.TXT created) before this funciton is called, so we can't *always* delete
    the quote file. Delete it if restoring a draft or if quoting is disabled
    only.


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Wed Dec 19 19:03:50 2018
    src/sbbs3 writemsg.cpp 1.135 1.136
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Remove trailing whitespace off the end of original messages when creating
    quote files (ain't nobody got time for that!).


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Dec 29 22:50:03 2018
    src/sbbs3 writemsg.cpp 1.136 1.137
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv20423

    Modified Files:
    writemsg.cpp
    Log Message:
    Re-factored the internal text/message editor (msgeditor) to use the str_list_t data-type and API. This works better for terminals < 80 cols in width and has some other improvements with inserting/deleting lines using the arrow keys,
    but still not great.
    No longer does tab-expansion on text read from a file - may want to add that back in <shrug>.

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Dec 30 22:39:07 2018
    src/sbbs3 writemsg.cpp 1.137 1.138
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Fixed GCC warning: format '%d' expects argument of type 'int', but argument 5 has type 'size_t'


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Jan 15 13:22:33 2019
    src/sbbs3 writemsg.cpp 1.138 1.139
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv31805

    Modified Files:
    writemsg.cpp
    Log Message:
    Internal message editor needs to recount the lines when saving. This
    is the likely cause of missing lines or "Aborted" messages upon saving
    with the internal editor.


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Jan 21 01:20:06 2019
    src/sbbs3 writemsg.cpp 1.139 1.140
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14967

    Modified Files:
    writemsg.cpp
    Log Message:
    Added support for the standard "Delete line" control keys (Ctrl-Y/X) to the
    the internal message editor. It doesn't redraw the lines below the deleted
    line or do anything terribly fancy, but at least it behaves more as one
    would expect.


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Mar 7 23:48:21 2019
    src/sbbs3 writemsg.cpp 1.142 1.143
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Fix (new) potential dereference of NULL (top) pointer in writemsg(), reported by Deuce. If 'top' is passed in as NULL, assign a blank string constant to it since we dereference top a few places in this function and pass it to putmsg().


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Apr 28 22:55:03 2019
    src/sbbs3 writemsg.cpp 1.147 1.148
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv27853

    Modified Files:
    writemsg.cpp
    Log Message:
    Fix crash introduced in previous commit (rev 1.147) of this file (on Apr-16), when the user is using the internal msg editor (useron_xedit == 0) and
    replying to a message.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Apr 29 19:36:14 2019
    src/sbbs3 writemsg.cpp 1.150 1.151
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv28446

    Modified Files:
    writemsg.cpp
    Log Message:
    Use quote prefixes for auto-message body which allows us to word-wrap
    nicely when displaying at various terminal widths.

    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Apr 29 19:48:34 2019
    src/sbbs3 writemsg.cpp 1.151 1.152
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Resolve GCC warning: enumeration value 'XEDIT_SOFT_CR_UNDEFINED' not handled
    in switch


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Jul 7 21:26:01 2019
    src/sbbs3 writemsg.cpp 1.155 1.156
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv23003

    Modified Files:
    writemsg.cpp
    Log Message:
    When the created message is UTF-8, translate (from CP-437 to UTF-8) any
    user signature (.sig file) or editor created message tag (editor.tag file) contents before adding to message base.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Jul 8 22:27:32 2019
    src/sbbs3 writemsg.cpp 1.157 1.158
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv6392

    Modified Files:
    writemsg.cpp
    Log Message:
    Use enum values from (new file) cp437defs.h


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Jul 20 12:06:44 2019
    src/sbbs3 writemsg.cpp 1.161 1.162
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Always check for the existence of RESULT.ED file after using an external
    editor even if the editor was configured for QuickBBS/MSGINF drop files.
    Don't use the subject line from RESULT.ED when the read-only subject mode
    is used.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to rswindell on Sun Jul 21 11:21:34 2019
    Re: src/sbbs3/writemsg.cpp
    By: rswindell to CVS commit on Sat Jul 20 2019 12:06 pm

    Modified Files:
    writemsg.cpp
    Log Message:
    Always check for the existence of RESULT.ED file after using an external editor even if the editor was configured for QuickBBS/MSGINF drop files. Don't use the subject line from RESULT.ED when the read-only subject mode is used.

    It looks like that works. Thanks!

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Mon Jul 22 00:35:45 2019
    Re: src/sbbs3/writemsg.cpp
    By: Nightfox to rswindell on Sun Jul 21 2019 11:21 am

    Re: src/sbbs3/writemsg.cpp
    By: rswindell to CVS commit on Sat Jul 20 2019 12:06 pm

    Modified Files:
    writemsg.cpp
    Log Message:
    Always check for the existence of RESULT.ED file after using an external editor even if the editor was configured for QuickBBS/MSGINF drop files. Don't use the subject line from RESULT.ED when the read-only subject mode is used.

    It looks like that works. Thanks!

    Cool. I see you added your version details to line 3 as well:

    Editor SlyEdit 1.67 Beta (2019-07-19)

    Nice!

    digital man

    Synchronet/BBS Terminology Definition #73:
    Telenet = Proprietary packet switched network (variant on X.75)
    Norco, CA WX: 66.6°F, 82.0% humidity, 4 mph SE wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Mon Jul 22 10:09:32 2019
    Re: src/sbbs3/writemsg.cpp
    By: Digital Man to Nightfox on Mon Jul 22 2019 12:35 am

    It looks like that works. Thanks!

    Cool. I see you added your version details to line 3 as well:

    Editor SlyEdit 1.67 Beta (2019-07-19)

    Nice!

    Yep, I figured I might as well have it write that too.

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Mon Jul 22 13:53:47 2019
    Re: src/sbbs3/writemsg.cpp
    By: Nightfox to Digital Man on Mon Jul 22 2019 10:09 am

    Re: src/sbbs3/writemsg.cpp
    By: Digital Man to Nightfox on Mon Jul 22 2019 12:35 am

    It looks like that works. Thanks!

    Cool. I see you added your version details to line 3 as well:

    Editor SlyEdit 1.67 Beta (2019-07-19)

    Nice!

    Yep, I figured I might as well have it write that too.

    It's helpful when reporting issues or diagnosing problems. Appreciated.

    digital man

    Synchronet/BBS Terminology Definition #82:
    XPDEV = Cross-platform Development
    Norco, CA WX: 89.7°F, 43.0% humidity, 5 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Jul 23 22:05:44 2019
    src/sbbs3 writemsg.cpp 1.163 1.164
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    writemsg.cpp
    Log Message:
    Address printf precision arg warning.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Jul 25 03:55:02 2019
    src/sbbs3 writemsg.cpp 1.164 1.165
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv25255

    Modified Files:
    writemsg.cpp
    Log Message:
    We're storing the charset of locally created messages in the (new) SMB hfield: FIDOCHARSET, no longer FIDOCTRL.


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Jul 25 22:18:35 2019
    src/sbbs3 writemsg.cpp 1.165 1.166
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv24329

    Modified Files:
    writemsg.cpp
    Log Message:
    process_edited_text():
    When message text contains an invalid or possibly dangerous Ctrl-A code, convert the Ctrl-A to an '@' char.
    Only Ctrl-A *attribute* codes will be allowed in message text
    (e.g. not ^AP, ^AL, ^A", etc.).


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Jul 26 00:20:04 2019
    src/sbbs3 writemsg.cpp 1.166 1.167
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv6418

    Modified Files:
    writemsg.cpp
    Log Message:
    Capture/use the "NOTE:" FTN-kludge added by external message editors.
    Correctly support CR-terminated FTN-kludge lines (per spec, no LF is required). Save the revision of this source file as the editor details for raw (writemsg) and internal (msgeditor) created messages.

    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Aug 2 04:53:02 2019
    src/sbbs3 writemsg.cpp 1.167 1.168
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv18198

    Modified Files:
    writemsg.cpp
    Log Message:
    Auto-detect ZMODEM upload of message text in internal line editor.
    Discards any previously quoted/typed text, but remains in the editor with the uploaded text available for append or edit.


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Aug 2 06:53:31 2019
    src/sbbs3 writemsg.cpp 1.168 1.169
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv8142

    Modified Files:
    writemsg.cpp
    Log Message:
    Add a /UPLOAD command which works with any/all configured protocols
    (in addition to the auto-ZMODEM upload detection). Using an evil "goto" for code reuse.


    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Aug 4 16:48:56 2019
    src/sbbs3 writemsg.cpp 1.170 1.171
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv28822

    Modified Files:
    writemsg.cpp
    Log Message:
    Converted quoted UTF-8 message text and message subjects to CP437 for external editors that do not support UTF-8 (all of them, currently).

    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue May 12 23:40:20 2020
    src/sbbs3 writemsg.cpp 1.173 1.174
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv11411

    Modified Files:
    writemsg.cpp
    Log Message:
    Use binary mode when creating quotes.txt to eliminate excessive carriage return
    characters on Windows.

    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun May 24 12:34:02 2020
    src/sbbs3 writemsg.cpp 1.174 1.175
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv28131

    Modified Files:
    writemsg.cpp
    Log Message:
    Fix heap corruption resulting from use of internal message editor "/E" (edit line) command when extended a line of text to a length longer than what was allocated.

    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to sbbs/master on Wed Oct 21 18:32:09 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/eb209e8495db39e7732696fc
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Do not remove trailing white-space from lines in .sig filesThis allows a .sig file to contain "\n-- \n", the "standard" USENET signature delimiter, as requested by Tracker1.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Dec 9 02:02:49 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/97ac3bbf7720b3940d3f3198
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Parse/separate forward-to-netmail name from addressOnly do the local user notification when appropriate.Signal the FTN netmail semaphore when appropriate.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Fri Mar 5 20:41:25 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/3e999815c58affc0eefcf7fb
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Don't allow subject to be changed when forwarding file attachmentsSince the filename is in the subject, we can't allow the user to change the subject (duh). Also, don't bother with the "Fwd:" prefix thing as that could potentially cause problems in other places where the filename (only) is assumed
    to be in the subject.Also, make sure to create the destination directory when moving file attachments. These changes fix issue #230 reported by Keyop.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sat Mar 13 12:48:15 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/5b044471b7f5dd69840fcb04
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix error removing INPUT.MSG introduced in Commit 0c441424remove() is expected to fail in this scenario sometimes dependingon how writemsg() is used - in the error case, the user was tryingto edit his .plan file with the ;plan command:term Node 10 <Deuce> !ERROR 11 (Resource temporarily unavailable) in writemsg.cpp line 1232 (editfile) removing "/sbbs/node10/temp/INPUT.MSG" access=0Thanks for the bug report!
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Mar 31 23:56:36 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/1f805a5d3f87786be3c576cd
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix editmsg() always fails bug introduced in commit 0c441424Another Coverity-issued-fixed-introduced-bug.Failure to remove a non-existant file is not reason for failure.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sun Apr 25 19:36:21 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/1139cfe5ab831096a0b94cef
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix double close (fnopen doesn't leave the descriptor open)Fixes CID 33724.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Tue Aug 17 23:49:55 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4d01818374e0bb40b1fa15ba
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    When writing/reading quotes.txt, ignore first 2 lines if WWIV-typeWWIV writes 2
    lines of metadata to the beginning of its quotes.txt file created for external message editors. Its not clear yet what these lines should contain, but the first line apparently should contain a '#' character since BREdit checks for this character before deciding to throw-away/ignore these lines (don't use them
    for quoted text). Thanks mlong for this tip!So if the external editor is set to
    "WWIV CHAIN.TXT" in SCFG (even if the door doesn't need/use it), then the quotes.txt file created by Synchronet will contain the extra 2 lines. We're just writing a # to the first line and the second line is blank.This fixes reported issue #188.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Mar 2 13:25:51 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/b47b97c2602bdd784b0f63dc
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Detect smb_[f]allocdat() failure in editmsg()CID 319091
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Mar 2 18:14:50 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/bb18309c7f0cde12745b44ff
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix CID 33239: Argument cannot be negative
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sun Mar 13 00:18:52 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/da406c0a793ce998e982dd88
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix CID 33235: Argument cannot be negative
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sun Jul 3 15:55:50 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/2db618ae2da445cf21a420c5
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix smb.subnum corruption in writemsg()Fix issue introduced 9 years ago that could cause a crash after replying to a post via email or netmail and then displaying the header of a poll message or a normal message with votes:Program terminated with signal SIGSEGV, Segmentation fault.#0 0x00007f9f9569a317 in sbbs_t::show_msg (this=0x7f9f70c56880, smb=0x7f9f70c5e4e0, msg=0x7f9ebadf08b0, p_mode=4, post=0x7f9f18071a24) at getmsg.cpp:255255
    ,cfg.sub[smb->subnum]->misc&SUB_
    NAME ? useron.name : useron.alias, NET_NONE, NULL);[Current thread is 1 (Thread 0x7f9ebadf3700 (LWP 23279))](gdb) print smb->subnum$1 = 4294967295(gdb) bt#0 0x00007f9f9569a317 in sbbs_t::show_msg (this=0x7f9f70c56880, smb=0x7f9f70c5e4e0, msg=0x7f9ebadf08b0, p_mode=4, post=0x7f9f18071a24) at getmsg.cpp:255#1 0x00007f9f957b2aee in sbbs_t::scanposts (this=0x7f9f70c56880,
    subnum=9, mode=2, find=0x7f9ebadf1270 "") at readmsgs.cpp:670#2 0x00007f9f957bb75a in sbbs_t::scanallsubs (this=0x7f9f70c56880, mode=2) at scansubs.cpp:219#3 0x00007f9f9568c948 in sbbs_t::exec_msg (this=0x7f9f70c56880, csi=0x7f9f70c64768) at execmsg.cpp:315#4 0x00007f9f95683129 in sbbs_t::exec_function (this=0x7f9f70c56880, csi=0x7f9f70c64768) at execfunc.cpp:422#5 0x00007f9f95679450 in sbbs_t::exec (this=0x7f9f70c56880, csi=0x7f9f70c64768) at exec.cpp:1199#6 0x00007f9f9577d742 in node_thread (arg=0x7f9f70c56880) at main.cpp:4364writemsg() was changing the global smb.subnum and when writing an email or netmail, that subnum value is -1 (since it's not a sub-board) and then
    later show_msg() is using the smb.subnum as a index into scfg.sub[] when determining if the current user already voted on the message being displayed and then: bang, crash, fall down, go boom.Simply saving and restoring the smb.subnum when executing an external editor is all that was needed here. And this is the first use of the C++ "auto" keyword in Synchronet!
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Tue Feb 7 18:11:57 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/208cc78b54ac851645e8cbd1
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Don't save draft messages upon disconnect for Guest or "no one" (user #0)Fix issue #508
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Thu Apr 13 18:45:54 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ff3864002e9a51e98b1c83f5
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Bounds-check the buffer being written in msgeditor()Replace the suspicious strcpy/strcat's in msgeditor(), the built-in lineeditor, with bounds-enforced snprintf() calls.Also, properly define MAX_LINE_LEN to account for the trailing
    \r\n on eachline. It appears we've been under allocating the total possible message buffersize (by 2 bytes per line) for a while now.These 2 changes together should fix issue #547: apparent heap corruption dueto 'buf' overflow in msgeditor().Also added a line count check/cap-enforcement with logged error message ifexceeded (should never happen).Also fixed in this commit: off-by-one when enforcing max message length inmsgeditor().Also added checks that the 'cols' (used in MAX_LINE_LEN) are reasonable values(40+), 2 was below the threshold of what would be expected to work sincethere is logic that deducts 4 from cols, for example.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Thu Apr 13 18:45:54 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2d9f8a32c55c82016b13d0a1
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    When writing messages with a 'top' in raw-input-mode, don't add excessive CRLFIf the top already ends in a blank line, no additional CRLF is warranted(between the 'top' and the raw-input message 'body').
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Thu Apr 13 18:47:22 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/84527be03f4d728bafe58f10
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix new GCC warning in printf format string.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Fri Apr 14 20:37:52 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4f9a8b209a160d8fac1fc4a3
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Address a couple of Coverity-reported defectsCID 452331CID 452330
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Dec 21 12:38:45 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/daf8fa55aa08b39bf8b4fc6e
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix internal line editor buffer overflow (heap corruption)

    ... wasn't accounting for length of the 'top' buffer (when supplied).

    Also, for raw input mode:
    - flush the input buffer (stray LF) before accepting input
    - turn off raw input mode if run out of bytes (max lines/length reached)

    I was investigating the reported error by Nelgin:
    !ERROR in writemsg.cpp line 1214 (msgeditor) checking
    "max lines (20) exceeded" access=46
    which I was unable to reproduce, when I encountered the issues addressed
    in this commit.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Dec 26 16:04:06 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/3057bcc20148e3d93d1052a5
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Insure uploaded text ends in a new-line

    We were appending .sig files to uploaded text, which may not have ended
    in an LF or CRLF sequence. This fixes that.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Fri Dec 29 17:10:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ee5e3e8ee949f73113909680
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix an error path FILE* leak (CID 462238)

    Go ahead and fix false-positive CID 33482 by adding a NULL check to quotestr() --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Jan 23 18:37:49 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1321d7f537df2b0eb0c99f33
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    When editing a message, pass the proper to/from/subj/area to drop file

    Fixes issue #704 - not just for JS bbs.edit_msg(), but for all uses of the underlying sbbs_t::editmsg() function.

    Replaced one specific comparison of subnum == INVALID_SUB with call to is_valid_subnum() just to be consistent. No functional change there.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Tue Feb 13 20:37:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/00afb97cc670fdf3e11aa839
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Improvements to UTF-8 capable external editor support

    1. Add an 8th line to MSGINF (for SlyEdit): the character set expected
    (either "CP437", the default, or "UTF-8") based on the SCFG configuration
    2. Don't apply "Soft-CR" (0x8D) stripping/expansion for UTF-8 editors
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Feb 15 19:24:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0dc20c1f9bf66ae376b0f22d
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    If the quotes.txt file doesn't exist with the right case, try any case

    (but prefer the proper/configured case, based on config in SCFG).

    Works around a problem where DDMsgReader always creates QUOTES.TXT (never quotes.txt), but SBBS tries to read in the file with the case it expects.
    This wouldn't be a problem on case-insensitive file systems (Windows).

    Resolves the writemsg.cpp error reported by Nelgin
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Feb 15 21:37:00 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f894f62108ad3251bfcba84c
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Fix bug in previous commit to this file

    I'm surprised this didn't create a warning somewhere: treating char* as a
    bool!
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Tue Feb 20 23:57:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f754ad9057b0cd076bcf57b1
    Modified Files:
    src/sbbs3/writemsg.cpp
    Log Message:
    Allow UTF-8 sequences in message subjects (passing K_UTF8 to getstr)

    This was the behavior for all string input in SBBS until recently
    (Commit 55ccda6294f82506), with this change, an exception is being
    made for message subjects, but the vast majority of other string
    input is still limited to single-byte (i.e. US-ASCII or CP437)
    characters.

    This should fix issue #720
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)