|
PostgreSQL Source Code git master
|
#include <netinet/in.h>#include "lib/stringinfo.h"#include "libpq/libpq-be.h"#include "storage/latch.h"

Go to the source code of this file.
Data Structures | |
| struct | PQcommMethods |
Macros | |
| #define | PQ_SMALL_MESSAGE_LIMIT 10000 |
| #define | PQ_LARGE_MESSAGE_LIMIT (MaxAllocSize - 1) |
| #define | pq_comm_reset() (PqCommMethods->comm_reset()) |
| #define | pq_flush() (PqCommMethods->flush()) |
| #define | pq_flush_if_writable() (PqCommMethods->flush_if_writable()) |
| #define | pq_is_send_pending() (PqCommMethods->is_send_pending()) |
| #define | pq_putmessage(msgtype, s, len) (PqCommMethods->putmessage(msgtype, s, len)) |
| #define | pq_putmessage_noblock(msgtype, s, len) (PqCommMethods->putmessage_noblock(msgtype, s, len)) |
| #define | FeBeWaitSetSocketPos 0 |
| #define | FeBeWaitSetLatchPos 1 |
| #define | FeBeWaitSetNEvents 3 |
| #define | SSL_LIBRARY "" |
| #define | DEFAULT_SSL_CIPHERS "none" |
| #define | DEFAULT_SSL_GROUPS "none" |
Enumerations | |
| enum | ssl_protocol_versions { PG_TLS_ANY = 0 , PG_TLS1_VERSION , PG_TLS1_1_VERSION , PG_TLS1_2_VERSION , PG_TLS1_3_VERSION } |
| #define pq_comm_reset | ( | ) | (PqCommMethods->comm_reset()) |
| #define pq_flush | ( | ) | (PqCommMethods->flush()) |
| #define pq_flush_if_writable | ( | ) | (PqCommMethods->flush_if_writable()) |
| #define pq_is_send_pending | ( | ) | (PqCommMethods->is_send_pending()) |
| #define PQ_LARGE_MESSAGE_LIMIT (MaxAllocSize - 1) |
Definition at line 49 of file libpq.h.
| Enumerator | |
|---|---|
| PG_TLS_ANY | |
| PG_TLS1_VERSION | |
| PG_TLS1_1_VERSION | |
| PG_TLS1_2_VERSION | |
| PG_TLS1_3_VERSION | |
Definition at line 146 of file libpq.h.
|
extern |
Definition at line 794 of file pqcomm.c.
References accept, ereport, errcode_for_socket_access(), errmsg(), fb(), LOG, pg_usleep(), PGINVALID_SOCKET, STATUS_ERROR, and STATUS_OK.
Referenced by ServerLoop().
Definition at line 114 of file be-secure-common.c.
References buf, ereport, errcode(), errcode_for_file_access(), errdetail(), errmsg(), FATAL, fb(), LOG, S_IRWXG, S_IRWXO, S_ISREG, S_IWGRP, S_IXGRP, ssl_key_file, and stat.
Referenced by be_tls_init().
|
extern |
Definition at line 418 of file pqcomm.c.
References _, bind, closesocket, EADDRINUSE, elog, ereport, err(), errcode_for_socket_access(), errhint(), errmsg(), FATAL, fb(), fd(), gai_strerror(), listen, ListenSockets, Lock_AF_UNIX(), LOG, MaxConnections, MAXPGPATH, MemSet, NumListenSockets, pg_freeaddrinfo_all(), pg_getaddrinfo_all(), pg_getnameinfo_all(), PGINVALID_SOCKET, Setup_AF_UNIX(), snprintf, socket, STATUS_ERROR, STATUS_OK, UNIXSOCK_PATH, and UNIXSOCK_PATH_BUFLEN.
Referenced by PostmasterMain().
Definition at line 1127 of file pqcomm.c.
References Assert, PqRecvLength, and PqRecvPointer.
Referenced by ProcessStartupPacket(), and secure_open_server().
Definition at line 2056 of file pqcomm.c.
References fb(), FeBeWaitSet, FeBeWaitSetNEvents, FeBeWaitSetSocketPos, i, lengthof, ModifyWaitEvent(), MyLatch, ResetLatch(), WaitEventSetWait(), WL_LATCH_SET, and WL_SOCKET_CLOSED.
Referenced by ProcessInterrupts().
Definition at line 1165 of file pqcomm.c.
References Assert, and PqCommReadingMsg.
Referenced by ProcessRepliesIfAny(), ProcessSSLStartup(), ProcessStartupPacket(), and secure_open_server().
Definition at line 963 of file pqcomm.c.
References Assert, fb(), pq_recvbuf(), PqCommReadingMsg, PqRecvBuffer, PqRecvLength, and PqRecvPointer.
Referenced by CheckSASLAuth(), CopyGetData(), HandleUploadManifestPacket(), recv_password_packet(), and SocketBackend().
Definition at line 1003 of file pqcomm.c.
References Assert, COMMERROR, EAGAIN, EINTR, ereport, errcode_for_socket_access(), errmsg(), EWOULDBLOCK, fb(), MyProcPort, PqCommReadingMsg, PqRecvBuffer, PqRecvLength, PqRecvPointer, secure_read(), and socket_set_nonblocking().
Referenced by ProcessRepliesIfAny().
Definition at line 1062 of file pqcomm.c.
References Assert, b, fb(), len, pq_recvbuf(), PqCommReadingMsg, PqRecvBuffer, PqRecvLength, and PqRecvPointer.
Referenced by pq_getmessage(), ProcessStartupPacket(), and secure_open_server().
|
extern |
Definition at line 1203 of file pqcomm.c.
References Assert, COMMERROR, StringInfoData::data, enlargeStringInfo(), ereport, errcode(), errmsg(), fb(), StringInfoData::len, len, PG_CATCH, PG_END_TRY, pg_ntoh32, PG_RE_THROW, PG_TRY, pq_discardbytes(), pq_getbytes(), PqCommReadingMsg, and resetStringInfo().
Referenced by CheckSASLAuth(), CopyGetData(), HandleUploadManifestPacket(), ProcessRepliesIfAny(), recv_password_packet(), and SocketBackend().
|
extern |
Definition at line 174 of file pqcomm.c.
References AddWaitEventToSet(), Assert, CreateWaitEventSet(), elog, ereport, errmsg(), FATAL, fb(), FeBeWaitSet, FeBeWaitSetLatchPos, FeBeWaitSetNEvents, FeBeWaitSetSocketPos, MemoryContextAlloc(), MyLatch, on_proc_exit(), palloc0_object, pg_set_noblock(), PG_USED_FOR_ASSERTS_ONLY, PGINVALID_SOCKET, port, PQ_SEND_BUFFER_SIZE, pq_setkeepalivescount(), pq_setkeepalivesidle(), pq_setkeepalivesinterval(), pq_settcpusertimeout(), PqCommBusy, PqCommReadingMsg, PqRecvLength, PqRecvPointer, PqSendBuffer, PqSendBufferSize, PqSendPointer, PqSendStart, socket_close(), tcp_keepalives_count, tcp_keepalives_idle, tcp_keepalives_interval, tcp_user_timeout, TopMemoryContext, WL_LATCH_SET, WL_POSTMASTER_DEATH, and WL_SOCKET_WRITEABLE.
Referenced by BackendInitialize().
Definition at line 1181 of file pqcomm.c.
References PqCommReadingMsg.
Referenced by PostgresMain().
Definition at line 982 of file pqcomm.c.
References Assert, fb(), pq_recvbuf(), PqCommReadingMsg, PqRecvBuffer, PqRecvLength, and PqRecvPointer.
Referenced by ProcessSSLStartup().
Definition at line 1561 of file pqcomm.c.
References Assert, fb(), internal_putbytes(), len, and PqCommBusy.
Referenced by send_message_to_frontend().
Definition at line 1141 of file pqcomm.c.
References ereport, errcode(), errmsg(), FATAL, fb(), and PqCommReadingMsg.
Referenced by CheckSASLAuth(), CopyGetData(), HandleUploadManifestPacket(), ProcessRepliesIfAny(), ProcessSSLStartup(), ProcessStartupPacket(), recv_password_packet(), secure_open_server(), and SocketBackend().
Definition at line 848 of file pqcomm.c.
References fb(), lfirst, and sock_paths.
Referenced by CloseServerPorts().
|
extern |
Definition at line 40 of file be-secure-common.c.
References Assert, buf, ClosePipeStream(), ereport, errcode_for_file_access(), errdetail_internal(), errmsg(), ERROR, error(), explicit_bzero(), fb(), len, LOG, OpenPipeStream(), pfree(), pg_strip_crlf(), replace_percent_placeholders(), ssl_passphrase_command, and wait_result_to_str().
Referenced by ssl_external_passwd_cb().
Definition at line 167 of file be-secure.c.
References be_tls_close(), and port.
Referenced by socket_close().
Definition at line 88 of file be-secure.c.
References be_tls_destroy().
Referenced by process_pm_reload_request().
Definition at line 75 of file be-secure.c.
References be_tls_init(), and fb().
Referenced by BackendMain(), PostmasterMain(), and process_pm_reload_request().
Definition at line 99 of file be-secure.c.
References fb().
Referenced by ClientAuthentication().
Definition at line 112 of file be-secure.c.
References Assert, be_tls_open_server(), buf, DEBUG2, elog, ereport, errmsg_internal(), fb(), INJECTION_POINT, len, LOG, palloc(), pfree(), port, pq_buffer_remaining_data(), pq_endmsgread(), pq_getbytes(), pq_startmsgread(), and STATUS_ERROR.
Referenced by ProcessSSLStartup(), and ProcessStartupPacket().
Definition at line 268 of file be-secure.c.
References Assert, fb(), len, pgwin32_noblock, port, and recv.
Referenced by be_gssapi_read(), port_bio_read(), read_or_wait(), and secure_read().
Definition at line 377 of file be-secure.c.
References fb(), len, pgwin32_noblock, port, and send.
Referenced by be_gssapi_write(), port_bio_write(), secure_open_gssapi(), and secure_write().
Definition at line 179 of file be-secure.c.
References Assert, be_gssapi_read(), be_tls_read(), EAGAIN, ereport, errcode(), errmsg(), WaitEvent::events, EWOULDBLOCK, FATAL, fb(), FeBeWaitSet, FeBeWaitSetSocketPos, len, ModifyWaitEvent(), MyLatch, port, ProcessClientReadInterrupt(), ResetLatch(), secure_raw_read(), WaitEventSetWait(), WL_LATCH_SET, WL_POSTMASTER_DEATH, and WL_SOCKET_READABLE.
Referenced by pq_getbyte_if_available(), and pq_recvbuf().
Definition at line 305 of file be-secure.c.
References Assert, be_gssapi_write(), be_tls_write(), EAGAIN, ereport, errcode(), errmsg(), WaitEvent::events, EWOULDBLOCK, FATAL, fb(), FeBeWaitSet, FeBeWaitSetSocketPos, len, ModifyWaitEvent(), MyLatch, port, ProcessClientWriteInterrupt(), ResetLatch(), secure_raw_write(), WaitEventSetWait(), WL_LATCH_SET, WL_POSTMASTER_DEATH, and WL_SOCKET_WRITEABLE.
Referenced by internal_flush_buffer(), and ProcessStartupPacket().
Definition at line 830 of file pqcomm.c.
References fb(), lfirst, and sock_paths.
Referenced by ServerLoop().
|
extern |
Definition at line 166 of file pqcomm.c.
Referenced by pq_check_connection(), pq_init(), secure_read(), secure_write(), SwitchBackToLocalLatch(), SwitchToSharedLatch(), and WalSndWait().
|
extern |
Definition at line 164 of file pqcomm.c.
Referenced by pq_redirect_to_shm_mq(), and pq_set_parallel_leader().
|
extern |
Definition at line 39 of file be-secure.c.
Referenced by be_tls_init().
|
extern |
Definition at line 37 of file be-secure.c.
Referenced by be_tls_init().
|
extern |
Definition at line 41 of file be-secure.c.
Referenced by be_tls_init().
|
extern |
Definition at line 40 of file be-secure.c.
Referenced by be_tls_init().
|
extern |
Definition at line 42 of file be-secure.c.
Referenced by initialize_dh().
|
extern |
Definition at line 38 of file be-secure.c.
Referenced by be_tls_init(), and check_ssl_key_file_permissions().
|
extern |
Definition at line 36 of file be-secure.c.
|
extern |
Definition at line 61 of file be-secure.c.
Referenced by be_tls_init(), and be_tls_open_server().
|
extern |
Definition at line 60 of file be-secure.c.
Referenced by be_tls_init(), and be_tls_open_server().
|
extern |
Definition at line 43 of file be-secure.c.
Referenced by default_openssl_tls_init(), run_ssl_passphrase_command(), and set_rot13().
|
extern |
Definition at line 44 of file be-secure.c.
Referenced by default_openssl_tls_init().
|
extern |
Definition at line 52 of file be-secure.c.
Referenced by be_tls_init().
|
extern |
Definition at line 51 of file be-secure.c.
Referenced by be_tls_init().
|
extern |
Definition at line 55 of file be-secure.c.
Referenced by initialize_ecdh().
|
extern |
Definition at line 58 of file be-secure.c.
Referenced by be_tls_init().