52#define PQ_GSS_MAX_PACKET_SIZE 16384
60#define PQ_GSS_AUTH_BUFFER_SIZE 65536
131 elog(
COMMERROR,
"GSSAPI caller failed to retransmit all data needing to be retried");
216 (
errmsg(
"outgoing GSSAPI message would not use confidentiality")));
223 (
errmsg(
"server tried to send oversize GSSAPI packet (%zu > %zu)",
359 (
errmsg(
"oversize GSSAPI packet sent by the client (%zu > %zu)",
360 (
size_t)
input.length,
404 (
errmsg(
"incoming GSSAPI message did not use confidentiality")));
519 port->gss->delegated_creds =
false;
537 errmsg(
"out of memory")));
553 errmsg(
"could not set environment: %m")));
588 (
errmsg(
"oversize GSSAPI packet sent by the client (%zu > %zu)",
589 (
size_t)
input.length,
630 port->gss->delegated_creds =
true;
647 (
errmsg(
"server tried to send oversize GSSAPI packet (%zu > %zu)",
717 errmsg(
"out of memory")));
735 port->gss->enc =
true;
749 return port->gss->auth;
761 return port->gss->enc;
774 return port->gss->princ;
787 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)
int errmsg(const char *fmt,...)
#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