|
11 | 11 | *
|
12 | 12 | *
|
13 | 13 | * IDENTIFICATION
|
14 |
| - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.28 2003/08/04 02:40:20 momjian Exp $ |
| 14 | + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.29 2003/08/04 17:25:14 tgl Exp $ |
15 | 15 | *
|
16 | 16 | * NOTES
|
17 | 17 | * The client *requires* a valid server certificate. Since
|
@@ -308,23 +308,27 @@ pqsecure_read(PGconn *conn, void *ptr, size_t len)
|
308 | 308 | libpq_gettext("SSL SYSCALL error: %s\n"),
|
309 | 309 | SOCK_STRERROR(SOCK_ERRNO, sebuf, sizeof(sebuf)));
|
310 | 310 | else
|
| 311 | + { |
311 | 312 | printfPQExpBuffer(&conn->errorMessage,
|
312 | 313 | libpq_gettext("SSL SYSCALL error: EOF detected\n"));
|
313 | 314 |
|
| 315 | + SOCK_ERRNO = ECONNRESET; |
| 316 | + n = -1; |
| 317 | + } |
314 | 318 | break;
|
315 | 319 | }
|
316 | 320 | case SSL_ERROR_SSL:
|
317 | 321 | printfPQExpBuffer(&conn->errorMessage,
|
318 | 322 | libpq_gettext("SSL error: %s\n"), SSLerrmessage());
|
319 | 323 | /* fall through */
|
320 | 324 | case SSL_ERROR_ZERO_RETURN:
|
321 |
| - pqsecure_close(conn); |
322 | 325 | SOCK_ERRNO = ECONNRESET;
|
323 | 326 | n = -1;
|
324 | 327 | break;
|
325 | 328 | default:
|
326 | 329 | printfPQExpBuffer(&conn->errorMessage,
|
327 | 330 | libpq_gettext("Unknown SSL error code\n"));
|
| 331 | + n = -1; |
328 | 332 | break;
|
329 | 333 | }
|
330 | 334 | }
|
@@ -376,22 +380,26 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len)
|
376 | 380 | libpq_gettext("SSL SYSCALL error: %s\n"),
|
377 | 381 | SOCK_STRERROR(SOCK_ERRNO, sebuf, sizeof(sebuf)));
|
378 | 382 | else
|
| 383 | + { |
379 | 384 | printfPQExpBuffer(&conn->errorMessage,
|
380 | 385 | libpq_gettext("SSL SYSCALL error: EOF detected\n"));
|
| 386 | + SOCK_ERRNO = ECONNRESET; |
| 387 | + n = -1; |
| 388 | + } |
381 | 389 | break;
|
382 | 390 | }
|
383 | 391 | case SSL_ERROR_SSL:
|
384 | 392 | printfPQExpBuffer(&conn->errorMessage,
|
385 | 393 | libpq_gettext("SSL error: %s\n"), SSLerrmessage());
|
386 | 394 | /* fall through */
|
387 | 395 | case SSL_ERROR_ZERO_RETURN:
|
388 |
| - pqsecure_close(conn); |
389 | 396 | SOCK_ERRNO = ECONNRESET;
|
390 | 397 | n = -1;
|
391 | 398 | break;
|
392 | 399 | default:
|
393 | 400 | printfPQExpBuffer(&conn->errorMessage,
|
394 | 401 | libpq_gettext("Unknown SSL error code\n"));
|
| 402 | + n = -1; |
395 | 403 | break;
|
396 | 404 | }
|
397 | 405 | }
|
|
0 commit comments