mirror of
https://github.com/postgres/postgres.git
synced 2026-04-13 21:17:00 -04:00
only possible failure is in pq_flush, which will log a (better!) report anyway --- so pq_endmessage is just cluttering the log with a redundant entry. This matters when a client crashes partway through a large query, since we will emit many broken-pipe reports before finishing the query and exiting. |
||
|---|---|---|
| .. | ||
| auth.c | ||
| be-fsstubs.c | ||
| crypt.c | ||
| hba.c | ||
| Makefile | ||
| password.c | ||
| pg_hba.conf.sample | ||
| pg_ident.conf.sample | ||
| pqcomm.c | ||
| pqformat.c | ||
| pqpacket.c | ||
| pqsignal.c | ||
| README.SSL | ||
| util.c | ||
>From the servers perspective:
Receives StartupPacket
|
|
(Is SSL_NEGOTIATE_CODE?) ----------- Normal startup
| No
|
| Yes
|
|
(Server compiled with USE_SSL?) ------- Send 'N'
| No |
| |
| Yes Normal startup
|
|
Send 'S'
|
|
Establish SSL
|
|
Normal startup
>From the clients perspective (v6.6 client _with_ SSL):
Connect
|
|
Send packet with SSL_NEGOTIATE_CODE
|
|
Receive single char ------- 'S' -------- Establish SSL
| |
| '<else>' |
| Normal startup
|
|
Is it 'E' for error ------------------- Retry connection
| Yes without SSL
| No
|
Is it 'N' for normal ------------------- Normal startup
| Yes
|
Fail with unknown