From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | alexey(dot)zayats(at)gmail(dot)com |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: [BUGS] BUG #2724: Could not check connection status with "ssl=on" |
Date: | 2007-02-14 04:04:34 |
Message-ID: | 200702140404.l1E44YA12283@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers pgsql-patches |
Based on this report, I have developed the attached patch. Is this OK?
The idea is not to call SSL_shutdown() if errno == ECONNRESET.
---------------------------------------------------------------------------
wrote:
> Hi.
>
> > I would argue that this is an OpenSSL bug: it should not be trying to
> > write on a connection that it knows perfectly well is already dead.
> > (It should know that, anyway, because the only way that pqReadData would
> > be trying to close the connection is that it got an error indication
> > from OpenSSL.)
> May be, may be...
>
> > Possibly we could work around the problem by disabling SIGPIPE during
> > connection close, but I don't really see why we should have to do that.
> While take a look at source of libpq, i have discover following:
> while reading from pipe, you are getting
> case SSL_ERROR_ZERO_RETURN:
> SOCK_ERRNO_SET(ECONNRESET);
> but why you'r do not check
> SOCK_ERRNO != ECONNRESET
> while closing ssl connection ?
>
> i was trying this and all is work fine.
>
> In function close_SSL you are call SSL_shutdown to shutdown ssl pipe.
> But if you are already get ECONNRESET (by pear?), why you call whi funtcion?
>
> >From openssl docs.
> SSL_shutdown - shuts down an active TLS/SSL connection. It sends the ``close
> notify'' shutdown alert to the peer.
>
> That's why i've got SIGPIPE.
>
> > That's pretty much a waste of time, because all it tells you is whether
> > the connection was good the last time a query was done. It is *not*
> > intended as an active "ping".
> Ok, i'll take it in my mind.
>
> Alexey Zayats.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Attachment | Content-Type | Size |
---|---|---|
/pgpatches/ssl | text/x-diff | 656 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-02-14 04:26:23 | Re: Re: [BUGS] BUG #2724: Could not check connection status with "ssl=on" |
Previous Message | roland diaz | 2007-02-13 23:42:23 | BUG #3005: please help |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2007-02-14 04:19:52 | Re: "recovering prepared transaction" after server restart message |
Previous Message | Bruce Momjian | 2007-02-14 03:37:13 | Re: Deadlock with pg_dump? |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-02-14 04:26:23 | Re: Re: [BUGS] BUG #2724: Could not check connection status with "ssl=on" |
Previous Message | Bruce Momjian | 2007-02-14 03:19:15 | Re: Deadlock with pg_dump? |