SSL SocketRead should retry on noErr
|Reported by:||hpk104||Owned by:|
|Milestone:||Adium 1.5.7||Component:||Adium Core|
Sometimes calls to SocketRead return 0 bytes but with errno = 0. Those cases should be handled identically to EAGAIN but instead return a fatal error. This is causing issues with the SIPE plugin connecting to Office365 accounts (and possibly in other plugins?)
Steps to reproduce
With the SIPE plugin the only step needed to reproduce is to configure an Office365 account.
Successful connection to server.
Connection fails with:
(Libpurple: cdsa) receive failed (-9802): Undefined error: 0
Able to reproduce with Adium 1.5.x on OS 10.8.x; have not tried on earlier Adium or OSX builds.
Identical account configuration and plugin version work under Pidgin on Windows, Linux and Mac. Increasing the receive buffer (to minimize calls to read) also serves as a workaround but is not a true fix.
Change History (7)
comment:2 Changed 12 months ago by Thijs Alkemade <me@…>
- Resolution set to fixed
- Status changed from new to closed