@ -121,7 +121,7 @@ pg_GSS_write(PGconn *conn, const void *ptr, size_t len)
{
{
appendPQExpBufferStr ( & conn - > errorMessage ,
appendPQExpBufferStr ( & conn - > errorMessage ,
" GSSAPI caller failed to retransmit all data needing to be retried \n " ) ;
" GSSAPI caller failed to retransmit all data needing to be retried \n " ) ;
errno = EINVAL ;
SOCK_ERRNO_SET ( EINVAL ) ;
return - 1 ;
return - 1 ;
}
}
@ -199,7 +199,7 @@ pg_GSS_write(PGconn *conn, const void *ptr, size_t len)
if ( major ! = GSS_S_COMPLETE )
if ( major ! = GSS_S_COMPLETE )
{
{
pg_GSS_error ( libpq_gettext ( " GSSAPI wrap error " ) , conn , major , minor ) ;
pg_GSS_error ( libpq_gettext ( " GSSAPI wrap error " ) , conn , major , minor ) ;
errno = EIO ; /* for lack of a better idea */
SOCK_ERRNO_SET ( EIO ) ; /* for lack of a better idea */
goto cleanup ;
goto cleanup ;
}
}
@ -207,7 +207,7 @@ pg_GSS_write(PGconn *conn, const void *ptr, size_t len)
{
{
appendPQExpBufferStr ( & conn - > errorMessage ,
appendPQExpBufferStr ( & conn - > errorMessage ,
libpq_gettext ( " outgoing GSSAPI message would not use confidentiality \n " ) ) ;
libpq_gettext ( " outgoing GSSAPI message would not use confidentiality \n " ) ) ;
errno = EIO ; /* for lack of a better idea */
SOCK_ERRNO_SET ( EIO ) ; /* for lack of a better idea */
goto cleanup ;
goto cleanup ;
}
}
@ -217,7 +217,7 @@ pg_GSS_write(PGconn *conn, const void *ptr, size_t len)
libpq_gettext ( " client tried to send oversize GSSAPI packet (%zu > %zu) \n " ) ,
libpq_gettext ( " client tried to send oversize GSSAPI packet (%zu > %zu) \n " ) ,
( size_t ) output . length ,
( size_t ) output . length ,
PQ_GSS_MAX_PACKET_SIZE - sizeof ( uint32 ) ) ;
PQ_GSS_MAX_PACKET_SIZE - sizeof ( uint32 ) ) ;
errno = EIO ; /* for lack of a better idea */
SOCK_ERRNO_SET ( EIO ) ; /* for lack of a better idea */
goto cleanup ;
goto cleanup ;
}
}
@ -343,7 +343,7 @@ pg_GSS_read(PGconn *conn, void *ptr, size_t len)
/* If we still haven't got the length, return to the caller */
/* If we still haven't got the length, return to the caller */
if ( PqGSSRecvLength < sizeof ( uint32 ) )
if ( PqGSSRecvLength < sizeof ( uint32 ) )
{
{
errno = EWOULDBLOCK ;
SOCK_ERRNO_SET ( EWOULDBLOCK ) ;
return - 1 ;
return - 1 ;
}
}
}
}
@ -357,7 +357,7 @@ pg_GSS_read(PGconn *conn, void *ptr, size_t len)
libpq_gettext ( " oversize GSSAPI packet sent by the server (%zu > %zu) \n " ) ,
libpq_gettext ( " oversize GSSAPI packet sent by the server (%zu > %zu) \n " ) ,
( size_t ) input . length ,
( size_t ) input . length ,
PQ_GSS_MAX_PACKET_SIZE - sizeof ( uint32 ) ) ;
PQ_GSS_MAX_PACKET_SIZE - sizeof ( uint32 ) ) ;
errno = EIO ; /* for lack of a better idea */
SOCK_ERRNO_SET ( EIO ) ; /* for lack of a better idea */
return - 1 ;
return - 1 ;
}
}
@ -376,7 +376,7 @@ pg_GSS_read(PGconn *conn, void *ptr, size_t len)
/* If we don't yet have the whole packet, return to the caller */
/* If we don't yet have the whole packet, return to the caller */
if ( PqGSSRecvLength - sizeof ( uint32 ) < input . length )
if ( PqGSSRecvLength - sizeof ( uint32 ) < input . length )
{
{
errno = EWOULDBLOCK ;
SOCK_ERRNO_SET ( EWOULDBLOCK ) ;
return - 1 ;
return - 1 ;
}
}
@ -396,7 +396,7 @@ pg_GSS_read(PGconn *conn, void *ptr, size_t len)
pg_GSS_error ( libpq_gettext ( " GSSAPI unwrap error " ) , conn ,
pg_GSS_error ( libpq_gettext ( " GSSAPI unwrap error " ) , conn ,
major , minor ) ;
major , minor ) ;
ret = - 1 ;
ret = - 1 ;
errno = EIO ; /* for lack of a better idea */
SOCK_ERRNO_SET ( EIO ) ; /* for lack of a better idea */
goto cleanup ;
goto cleanup ;
}
}
@ -405,7 +405,7 @@ pg_GSS_read(PGconn *conn, void *ptr, size_t len)
appendPQExpBufferStr ( & conn - > errorMessage ,
appendPQExpBufferStr ( & conn - > errorMessage ,
libpq_gettext ( " incoming GSSAPI message did not use confidentiality \n " ) ) ;
libpq_gettext ( " incoming GSSAPI message did not use confidentiality \n " ) ) ;
ret = - 1 ;
ret = - 1 ;
errno = EIO ; /* for lack of a better idea */
SOCK_ERRNO_SET ( EIO ) ; /* for lack of a better idea */
goto cleanup ;
goto cleanup ;
}
}
@ -441,7 +441,8 @@ gss_read(PGconn *conn, void *recv_buffer, size_t length, ssize_t *ret)
* ret = pqsecure_raw_read ( conn , recv_buffer , length ) ;
* ret = pqsecure_raw_read ( conn , recv_buffer , length ) ;
if ( * ret < 0 )
if ( * ret < 0 )
{
{
if ( errno = = EAGAIN | | errno = = EWOULDBLOCK | | errno = = EINTR )
if ( SOCK_ERRNO = = EAGAIN | | SOCK_ERRNO = = EWOULDBLOCK | |
SOCK_ERRNO = = EINTR )
return PGRES_POLLING_READING ;
return PGRES_POLLING_READING ;
else
else
return PGRES_POLLING_FAILED ;
return PGRES_POLLING_FAILED ;
@ -461,7 +462,8 @@ gss_read(PGconn *conn, void *recv_buffer, size_t length, ssize_t *ret)
* ret = pqsecure_raw_read ( conn , recv_buffer , length ) ;
* ret = pqsecure_raw_read ( conn , recv_buffer , length ) ;
if ( * ret < 0 )
if ( * ret < 0 )
{
{
if ( errno = = EAGAIN | | errno = = EWOULDBLOCK | | errno = = EINTR )
if ( SOCK_ERRNO = = EAGAIN | | SOCK_ERRNO = = EWOULDBLOCK | |
SOCK_ERRNO = = EINTR )
return PGRES_POLLING_READING ;
return PGRES_POLLING_READING ;
else
else
return PGRES_POLLING_FAILED ;
return PGRES_POLLING_FAILED ;
@ -524,7 +526,8 @@ pqsecure_open_gss(PGconn *conn)
ret = pqsecure_raw_write ( conn , PqGSSSendBuffer + PqGSSSendNext , amount ) ;
ret = pqsecure_raw_write ( conn , PqGSSSendBuffer + PqGSSSendNext , amount ) ;
if ( ret < 0 )
if ( ret < 0 )
{
{
if ( errno = = EAGAIN | | errno = = EWOULDBLOCK | | errno = = EINTR )
if ( SOCK_ERRNO = = EAGAIN | | SOCK_ERRNO = = EWOULDBLOCK | |
SOCK_ERRNO = = EINTR )
return PGRES_POLLING_WRITING ;
return PGRES_POLLING_WRITING ;
else
else
return PGRES_POLLING_FAILED ;
return PGRES_POLLING_FAILED ;