| 182 | #endif |
| 183 | |
| 184 | static void socket_perror(const char *func, struct imap_socket *sock, int ret) |
| 185 | { |
| 186 | #ifndef NO_OPENSSL |
| 187 | if (sock->ssl) { |
| 188 | int sslerr = SSL_get_error(sock->ssl, ret); |
| 189 | switch (sslerr) { |
| 190 | case SSL_ERROR_NONE: |
| 191 | break; |
| 192 | case SSL_ERROR_SYSCALL: |
| 193 | perror("SSL_connect"); |
| 194 | break; |
| 195 | default: |
| 196 | ssl_socket_perror("SSL_connect"); |
| 197 | break; |
| 198 | } |
| 199 | } else |
| 200 | #endif |
| 201 | { |
| 202 | if (ret < 0) |
| 203 | perror(func); |
| 204 | else |
| 205 | fprintf(stderr, "%s: unexpected EOF\n", func); |
| 206 | } |
| 207 | /* mark as used to appease -Wunused-parameter with NO_OPENSSL */ |
| 208 | (void)sock; |
| 209 | } |
| 210 | |
| 211 | #ifdef NO_OPENSSL |
| 212 | static int ssl_socket_connect(struct imap_socket *sock UNUSED, |
no test coverage detected