postgresql/src/backend/libpq
Magnus Hagander 4e81628653 Properly unregister OpenSSL callbacks when libpq is done with
it's connection. This is required for applications that unload
the libpq library (such as PHP) in which case we'd otherwise
have pointers to these functions when they no longer exist.

This needs a bit more testing before we can consider a backpatch,
so not doing that yet.

In passing, remove unused functions in backend/libpq.

Bruce Momjian and Magnus Hagander, per report and analysis
by Russell Smith.
2008-12-03 20:04:26 +00:00
..
auth.c Issue a proper error message when MD5 is attempted when 2008-11-20 20:45:30 +00:00
be-fsstubs.c Simplify and standardize conversions between TEXT datums and ordinary C 2008-03-25 22:42:46 +00:00
be-secure.c Properly unregister OpenSSL callbacks when libpq is done with 2008-12-03 20:04:26 +00:00
crypt.c Remove support for (insecure) crypt authentication. 2008-10-28 12:10:44 +00:00
hba.c Support regular expressions in pg_ident.conf. 2008-11-28 14:26:58 +00:00
ip.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
Makefile Refactor backend makefiles to remove lots of duplicate code 2008-02-19 10:30:09 +00:00
md5.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
pg_hba.conf.sample Add support for using SSL client certificates to authenticate to the 2008-11-20 11:48:26 +00:00
pg_ident.conf.sample Support regular expressions in pg_ident.conf. 2008-11-28 14:26:58 +00:00
pqcomm.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
pqformat.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
pqsignal.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
README.SSL Remove large parts of the old SSL readme, that consisted of a couple 2008-10-24 11:48:29 +00:00

$PostgreSQL: pgsql/src/backend/libpq/README.SSL,v 1.7 2008/10/24 11:48:29 mha Exp $

SSL
===

>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

---------------------------------------------------------------------------