BoringSSL SSL_ERROR_ZERO_RETURN console warnings with Sparkle 1.19.0
I have two projects using sparkle and I recently updated to start using version 1.19.0 (at the same time I also updated to XCode 9.4.1 and macOS 10.13.6) and since then, the first time after launch I trigger a check for updates in sparkle using checkForUpdatesInBackground or checkForUpdates: I get three of these warnings in the console:
[BoringSSL] Function boringssl_session_errorlog: line 2881 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert
Trying the check for updates again seems to work fine and doesn't yield any further warnings.
As far as I can tell they don't seem to be causing any problems (the checks/connections/downloads seem to be working fine), and the warnings come a second or two after the check, so I'm guessing they're related to something not being closed correctly. Any idea of what might be causing this? Took me a while to track the problem down to Sparkle, so they might be causing other people confusion as well.
We don't use BoringSSL, so I don't know where that's coming from.
That's really strange, I don't use BoringSSL anywhere in my code either, and the warning messages only appear when triggering Sparkle updates, not when doing any other network access in my code.
After doing some research it seems that in macOS 10.13 Apple may have started using a branch of BoringSSL internally, and this could be the origin of the warning messages. So even if Sparkle doesn't directly use BoringSSL, using system calls may indirectly result in BoringSSL use by the system, in turn triggering the warnings in some situations?
Ah yes, that sounds plausible. But I'm not sure if there's anything we need to do about it, since we're using high level cocoa APIs.
An update, just updated to sparkle 1.21 and I still get the same warnings three times.
[BoringSSL] Function boringssl_session_errorlog: line 2881 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert
I thought at first the behavior had changed and it only showed the warnings when finding a new update. But after a little more testing it seems it's just a little more erratic now. So I'll get the three warnings sometimes, but not each time Sparkle checks for new versions now. Can't really see a pattern as to when it happens.
Speaking of BoringSSL errors, I'm now finding that Sparkle can't even check for updates, at all. My update file is beyond a 301 redirect message, and when it goes to fetch the file from the redirect, BoringSSL throws a whole lot of:
error 23:27:59.483167-0800 Cog Connection 6: unable to determine interface type without an established connection
The redirect should be a full redirect from the https://f.losno.co/ subdomain to https://balde.losno.co/, as configured in CloudFlare.