]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
If we're going to print unrecognized result codes from SSL_get_error
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 23 Sep 2004 20:27:50 +0000 (20:27 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 23 Sep 2004 20:27:50 +0000 (20:27 +0000)
in open_client_SSL, surely we should do it everywhere.  Also make
message formatting conform to style guide.

src/backend/libpq/be-secure.c
src/interfaces/libpq/fe-secure.c

index 4bd7581a38f458f15802cb03774479e5de08ec5b..43acba4473b7d0b8ee13697e231067ca33e7ee2c 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/libpq/be-secure.c,v 1.49 2004/09/09 00:59:31 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/libpq/be-secure.c,v 1.50 2004/09/23 20:27:50 tgl Exp $
  *
  *       Since the server static private key ($DataDir/server.key)
  *       will normally be stored unencrypted so that the database
@@ -257,9 +257,12 @@ secure_read(Port *port, void *ptr, size_t len)
 #ifdef USE_SSL
        if (port->ssl)
        {
+               int                     err;
+
 rloop:
                n = SSL_read(port->ssl, ptr, len);
-               switch (SSL_get_error(port->ssl, n))
+               err = SSL_get_error(port->ssl, n);
+               switch (err)
                {
                        case SSL_ERROR_NONE:
                                port->count += n;
@@ -293,8 +296,8 @@ rloop:
                        default:
                                ereport(COMMERROR,
                                                (errcode(ERRCODE_PROTOCOL_VIOLATION),
-                                                errmsg("unrecognized SSL error code %d",
-                                                               SSL_get_error(port->ssl, n))));
+                                                errmsg("unrecognized SSL error code: %d",
+                                                               err)));
                                n = -1;
                                break;
                }
@@ -317,6 +320,8 @@ secure_write(Port *port, void *ptr, size_t len)
 #ifdef USE_SSL
        if (port->ssl)
        {
+               int                     err;
+
                if (port->count > RENEGOTIATION_LIMIT)
                {
                        SSL_set_session_id_context(port->ssl, (void *) &SSL_context,
@@ -344,7 +349,8 @@ secure_write(Port *port, void *ptr, size_t len)
 
 wloop:
                n = SSL_write(port->ssl, ptr, len);
-               switch (SSL_get_error(port->ssl, n))
+               err = SSL_get_error(port->ssl, n);
+               switch (err)
                {
                        case SSL_ERROR_NONE:
                                port->count += n;
@@ -378,8 +384,8 @@ wloop:
                        default:
                                ereport(COMMERROR,
                                                (errcode(ERRCODE_PROTOCOL_VIOLATION),
-                                                errmsg("unrecognized SSL error code %d",
-                                                               SSL_get_error(port->ssl, n))));
+                                                errmsg("unrecognized SSL error code: %d",
+                                                               err)));
                                n = -1;
                                break;
                }
index f7bcd8f6fda3d226783ca2be62f278c5512e145e..2fba98d88b86b98d2cebf28c76d62bf79d6c0907 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.50 2004/09/23 13:20:45 momjian Exp $
+ *       $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.51 2004/09/23 20:27:43 tgl Exp $
  *
  * NOTES
  *       The client *requires* a valid server certificate.  Since
@@ -297,9 +297,12 @@ pqsecure_read(PGconn *conn, void *ptr, size_t len)
 #ifdef USE_SSL
        if (conn->ssl)
        {
+               int                     err;
+
 rloop:
                n = SSL_read(conn->ssl, ptr, len);
-               switch (SSL_get_error(conn->ssl, n))
+               err = SSL_get_error(conn->ssl, n);
+               switch (err)
                {
                        case SSL_ERROR_NONE:
                                break;
@@ -349,7 +352,8 @@ rloop:
                                break;
                        default:
                                printfPQExpBuffer(&conn->errorMessage,
-                                                libpq_gettext("unrecognized SSL error code\n"));
+                                                libpq_gettext("unrecognized SSL error code: %d\n"),
+                                                                 err);
                                n = -1;
                                break;
                }
@@ -380,8 +384,11 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len)
 #ifdef USE_SSL
        if (conn->ssl)
        {
+               int                     err;
+
                n = SSL_write(conn->ssl, ptr, len);
-               switch (SSL_get_error(conn->ssl, n))
+               err = SSL_get_error(conn->ssl, n);
+               switch (err)
                {
                        case SSL_ERROR_NONE:
                                break;
@@ -429,7 +436,8 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len)
                                break;
                        default:
                                printfPQExpBuffer(&conn->errorMessage,
-                                                libpq_gettext("unrecognized SSL error code\n"));
+                                                libpq_gettext("unrecognized SSL error code: %d\n"),
+                                                                 err);
                                n = -1;
                                break;
                }
@@ -1020,6 +1028,7 @@ open_client_SSL(PGconn *conn)
        if (r <= 0)
        {
                int err = SSL_get_error(conn->ssl, r);
+
                switch (err)
                {
                        case SSL_ERROR_WANT_READ:
@@ -1055,7 +1064,8 @@ open_client_SSL(PGconn *conn)
 
                        default:
                                printfPQExpBuffer(&conn->errorMessage,
-                                                libpq_gettext("unrecognized SSL error code (%d)\n"), err);
+                                                libpq_gettext("unrecognized SSL error code: %d\n"),
+                                                                 err);
                                close_SSL(conn);
                                return PGRES_POLLING_FAILED;
                }