54#define PQ_GSS_MAX_PACKET_SIZE 16384
62#define PQ_GSS_AUTH_BUFFER_SIZE 65536
133 elog(
COMMERROR,
"GSSAPI caller failed to retransmit all data needing to be retried");
218 (
errmsg(
"outgoing GSSAPI message would not use confidentiality")));
225 (
errmsg(
"server tried to send oversize GSSAPI packet (%zu > %zu)",
361 (
errmsg(
"oversize GSSAPI packet sent by the client (%zu > %zu)",
362 (
size_t)
input.length,
406 (
errmsg(
"incoming GSSAPI message did not use confidentiality")));
521 port->gss->delegated_creds =
false;
539 errmsg(
"out of memory")));
555 errmsg(
"could not set environment: %m")));
590 (
errmsg(
"oversize GSSAPI packet sent by the client (%zu > %zu)",
591 (
size_t)
input.length,
632 port->gss->delegated_creds =
true;
649 (
errmsg(
"server tried to send oversize GSSAPI packet (%zu > %zu)",
719 errmsg(
"out of memory")));
737 port->gss->enc =
true;
751 return port->gss->auth;
763 return port->gss->enc;
776 return port->gss->princ;
789 return port->gss->delegated_creds;
char * pg_krb_server_keyfile
bool pg_gss_accept_delegation
void pg_store_delegated_credential(gss_cred_id_t cred)
void pg_GSS_error(const char *errmsg, OM_uint32 maj_stat, OM_uint32 min_stat)
static int PqGSSRecvLength
static int PqGSSResultLength
#define PQ_GSS_AUTH_BUFFER_SIZE
static char * PqGSSSendBuffer
ssize_t be_gssapi_write(Port *port, const void *ptr, size_t len)
bool be_gssapi_get_auth(Port *port)
static int PqGSSSendConsumed
ssize_t be_gssapi_read(Port *port, void *ptr, size_t len)
static ssize_t read_or_wait(Port *port, ssize_t len)
ssize_t secure_open_gssapi(Port *port)
static char * PqGSSRecvBuffer
static int PqGSSResultNext
static uint32 PqGSSMaxPktSize
bool be_gssapi_get_enc(Port *port)
static int PqGSSSendLength
static char * PqGSSResultBuffer
#define PQ_GSS_MAX_PACKET_SIZE
const char * be_gssapi_get_princ(Port *port)
bool be_gssapi_get_delegation(Port *port)
ssize_t secure_raw_read(Port *port, void *ptr, size_t len)
ssize_t secure_raw_write(Port *port, const void *ptr, size_t len)
#define Assert(condition)
int errcode(int sqlerrcode)
#define ereport(elevel,...)
#define INJECTION_POINT(name, arg)
int WaitLatchOrSocket(Latch *latch, int wakeEvents, pgsocket sock, long timeout, uint32 wait_event_info)
void * MemoryContextAllocZero(MemoryContext context, Size size)
MemoryContext TopMemoryContext
#define WL_SOCKET_READABLE
#define WL_EXIT_ON_PM_DEATH
#define WL_SOCKET_WRITEABLE