26#define GSS_REQUIRED_FLAGS GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG | \
27 GSS_C_SEQUENCE_FLAG | GSS_C_CONF_FLAG | GSS_C_INTEG_FLAG
53#define PQ_GSS_MAX_PACKET_SIZE 16384
61#define PQ_GSS_AUTH_BUFFER_SIZE 65536
68#define PqGSSSendBuffer (conn->gss_SendBuffer)
69#define PqGSSSendLength (conn->gss_SendLength)
70#define PqGSSSendNext (conn->gss_SendNext)
71#define PqGSSSendConsumed (conn->gss_SendConsumed)
72#define PqGSSRecvBuffer (conn->gss_RecvBuffer)
73#define PqGSSRecvLength (conn->gss_RecvLength)
74#define PqGSSResultBuffer (conn->gss_ResultBuffer)
75#define PqGSSResultLength (conn->gss_ResultLength)
76#define PqGSSResultNext (conn->gss_ResultNext)
77#define PqGSSMaxPktSize (conn->gss_MaxPktSize)
123 "GSSAPI caller failed to retransmit all data needing to be retried\n");
355 (
size_t)
input.length,
603 (
size_t)
input.length,
void pg_GSS_error(const char *errmsg, OM_uint32 maj_stat, OM_uint32 min_stat)
static void cleanup(void)
#define Assert(condition)
int pg_GSS_load_servicename(PGconn *conn)
bool pg_GSS_have_cred_cache(gss_cred_id_t *cred_out)
int pqReadReady(PGconn *conn)
#define PqGSSResultLength
#define PQ_GSS_AUTH_BUFFER_SIZE
ssize_t pg_GSS_read(PGconn *conn, void *ptr, size_t len)
ssize_t pg_GSS_write(PGconn *conn, const void *ptr, size_t len)
void * PQgetgssctx(PGconn *conn)
#define PqGSSSendConsumed
int PQgssEncInUse(PGconn *conn)
#define GSS_REQUIRED_FLAGS
PostgresPollingStatusType pqsecure_open_gss(PGconn *conn)
static PostgresPollingStatusType gss_read(PGconn *conn, void *recv_buffer, size_t length, ssize_t *ret)
#define PQ_GSS_MAX_PACKET_SIZE
#define PqGSSResultBuffer
ssize_t pqsecure_raw_read(PGconn *conn, void *ptr, size_t len)
ssize_t pqsecure_raw_write(PGconn *conn, const void *ptr, size_t len)
PostgresPollingStatusType
#define SOCK_ERRNO_SET(e)
void libpq_append_conn_error(PGconn *conn, const char *fmt,...)
void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...)
void appendPQExpBufferStr(PQExpBuffer str, const char *data)
PQExpBufferData errorMessage