• src/sbbs3/ssl.c

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, December 18, 2023 22:03:04
    https://gitlab.synchro.net/main/sbbs/-/commit/6ae3c80132f7f2707a4aaa1e
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Add lprintf declaration here (hack)

    This is always going to call the terminal server's lprintf function (when used with libsbbs.so/sbbs.dll) which is probably not what was intended.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, December 19, 2023 01:36:24
    https://gitlab.synchro.net/main/sbbs/-/commit/c9a18cc4dffcd3be240d32aa
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Don't load a cert unless the scfg_t is prepped.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, December 19, 2023 01:37:33
    https://gitlab.synchro.net/main/sbbs/-/commit/e3365aa3e9db55b43c07d21d
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    No point checking prepped here

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, December 20, 2023 15:15:17
    https://gitlab.synchro.net/main/sbbs/-/commit/8f089bf01169601da4275d7a
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Fix DO() macro in ssl.c

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, December 20, 2023 15:44:22
    https://gitlab.synchro.net/main/sbbs/-/commit/9d06452d26d4495e10bcbb9d
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Properly handle the cert when adding private key fails

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, December 20, 2023 15:47:32
    https://gitlab.synchro.net/main/sbbs/-/commit/c56af712ad619df69b93b0ad
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Fix bug in last commit to this file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, December 20, 2023 15:49:24
    https://gitlab.synchro.net/main/sbbs/-/commit/6b0df81a4a032587c2486460
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    A little bit more fixins...

    ---
    þ 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 Thursday, December 21, 2023 18:07:29
    https://gitlab.synchro.net/main/sbbs/-/commit/798f1d058a73c9549830f787
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Check return value of malloc() and log failure

    Fix CID 471381

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, January 09, 2024 09:15:22
    https://gitlab.synchro.net/main/sbbs/-/commit/7d157b980e97dbb87258b49e
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    You can't just screw around with a pair of shared linked lists
    without locking! That's chaos!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tuesday, January 09, 2024 09:18:47
    https://gitlab.synchro.net/main/sbbs/-/commit/4050fabe5ff89660555f9183
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Eliminate LOR introduced in previous commit.

    Since lock_ssl_cert() is a reader lock, there shouldn't be a whole
    lot of contention on aquiring it anyway, and we can thundering herd
    our way out of it when it clears.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, January 19, 2024 12:09:37
    https://gitlab.synchro.net/main/sbbs/-/commit/88bbe26bf67384f213df0dc1
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Use new rwlock for ssl certificate.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Friday, January 19, 2024 12:09:37
    https://gitlab.synchro.net/main/sbbs/-/commit/c2499626c59ea535f8dc2b5e
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Merge branch 'use-rwlock' into 'master'

    Use new rwlock for ssl certificate.

    See merge request main/sbbs!386

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, January 19, 2024 16:22:20
    https://gitlab.synchro.net/main/sbbs/-/commit/c47e29612c1f78bf1bb835ba
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Clean up and push down locks.

    Now each lock has an easily understandable purpose, and covers the
    lowest possible amount of code.

    ---
    þ 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 Friday, January 19, 2024 16:30:19
    https://gitlab.synchro.net/main/sbbs/-/commit/9fdb5950548fe41960d8bbe0
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Fix GCC warnings

    warning: value computed is not used

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, January 19, 2024 16:49:50
    https://gitlab.synchro.net/main/sbbs/-/commit/5e3c60b9a154ee1e64710f83
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Have get_sess_list_entry() verify the correct epoch

    With this, it's not strictly necessary to clear cert_list in ssl_sync()
    when the certificate changes, but it's still a good idea to prevent
    unusable memory from being held onto.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, January 19, 2024 16:49:50
    https://gitlab.synchro.net/main/sbbs/-/commit/a437c173ec7c7dfa35625e2e
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    May as well make sure internal_do_cryptInit() actually works.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Monday, January 22, 2024 14:57:23
    https://gitlab.synchro.net/main/sbbs/-/commit/0700951f70912e516305c181
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Mutex-protect access to cryptfail.

    Totally not sketchy, trust me.

    ---
    þ 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 Monday, January 22, 2024 19:40:40
    https://gitlab.synchro.net/main/sbbs/-/commit/0aa72717d5701c3d52259674
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Friendly cryptlib version check failure handling

    <Deuce> Feel free to not lock the mutex and never free/NULLify that string. <Deuce> Should be nicer for people with separate logs, and a few bytes never hurt anyone.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, February 07, 2024 23:00:19
    https://gitlab.synchro.net/main/sbbs/-/commit/bffceeba0fcdcacfd828351e
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    asprintf() on Linux does not guarantee to set the ptr to NULL on error.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, March 05, 2025 11:31:02
    https://gitlab.synchro.net/main/sbbs/-/commit/b5b3769123c99c8500377ebc
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Don't set cryptlib_initialized = true until the init is complete

    is_crypt_initialized() does not depend on the once value.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, March 05, 2025 11:36:29
    https://gitlab.synchro.net/main/sbbs/-/commit/fea518c7ae55a66649a81068
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    assert() pthread_mutex assumptions in ssl.c

    ---
    þ 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 Thursday, March 06, 2025 12:50:07
    https://gitlab.synchro.net/main/sbbs/-/commit/2adf8468d63418b04cef9c2d
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Log a (notice-level) message when creating a self-signed cert

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Friday, March 07, 2025 17:32:19
    https://gitlab.synchro.net/main/sbbs/-/commit/3122a36b6b0bad4296401ab3
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Fix failure handing in crypt initialization.

    Don't add the atexit() do_cryptEnd() handler until we're not going
    to call cryptEnd() ourselves.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sunday, March 09, 2025 06:51:55
    https://gitlab.synchro.net/main/sbbs/-/commit/d1c741d07362a4a3327532f7
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Incremental backoff on loading SSL cert

    Try for 16 seconds (14 loops) to load the SSL certificate.

    On the first time through the loop, create self-signed certificate
    if configured to do so.

    This also splits the generation of the self-signed certificate into
    a separate function.

    While we're here, split the new SSL epoch out into a separate function
    as well, and explicitly call it when we create a new self-signed
    cert. This at least partially fixes the epoch thing, but there's
    still the possibility of creating it multiple times in the same
    second... the file date isn't really enough.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Tuesday, July 08, 2025 21:43:38
    https://gitlab.synchro.net/main/sbbs/-/commit/1d0353858e00d5fade270854
    Modified Files:
    src/sbbs3/ssl.c
    Log Message:
    Better error reporting/handling when the ssl.cert file doesn't exist

    Since "Create self-signed certificate" defaults to No, it's normal/expected to not have an ssl.cert file in many cases and the logged errors were not very helpful. We should probably change the default for this setting to Yes
    (and have letsyncrypt.js disable it) or when auto-disable any SSH/TLS functionality that will expect a certificate file when the file doens't exist during initialization (startup or recycle). At least this change is a little bit of an improvement (help to the unknowing sysop). No longer just logging this unhelpful spew:
    7/8 21:23:05 mail 0055 SEND connecting to port 25 on mail.synchro.net [71.95.196.36]
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:06 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:07 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:08 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:10 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:14 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:22 mail Failed to open/read TLS certificate: /sbbs/ctrl/ssl.cert
    7/8 21:23:22 mail 0055 SEND/TLS [mail.synchro.net] ERROR 'Data has not been initialised' (-11) setting private key

    Thanks to Sam Alexander (BLUEBOX) for pointing this bad behavior out.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net