# socket_perror() "bug"?

4 messages from 2014-03-30 to 2014-04-03. Participants: Thiago Farina, Junio C Hamano.
Thread: https://gitlist.dev/t/36319

## Thiago Farina, 2014-03-30 19:32

Subject: socket_perror() "bug"?
Message-ID: <CACnwZYc2py4dxehg2=gnnPLxwJaRqXYTLQvC1O7YuoqAWsZ0Tg@mail.gmail.com>
URL: https://gitlist.dev/e/CACnwZYc2py4dxehg2%3DgnnPLxwJaRqXYTLQvC1O7YuoqAWsZ0Tg%40mail.gmail.com

```
Hi,

In imap-send.c:socket_perror() we pass |func| as a parameter, which I
think it is the name of the function that "called" socket_perror, or
the name of the function which generated an error.

But at line 184 and 187 it always assume it was SSL_connect.

Should we instead call perror() and ssl_socket_error() with func?

--
Thiago Farina

```

## Junio C Hamano, 2014-03-31 20:50

Subject: Re: socket_perror() "bug"?
Message-ID: <xmqqy4zq3xek.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqy4zq3xek.fsf%40gitster.dls.corp.google.com
In-Reply-To: <CACnwZYc2py4dxehg2=gnnPLxwJaRqXYTLQvC1O7YuoqAWsZ0Tg@mail.gmail.com>

```
Thiago Farina <tfransosi@gmail.com> writes:

> In imap-send.c:socket_perror() we pass |func| as a parameter, which I
> think it is the name of the function that "called" socket_perror, or
> the name of the function which generated an error.
>
> But at line 184 and 187 it always assume it was SSL_connect.
>
> Should we instead call perror() and ssl_socket_error() with func?

Looks that way to me, at least from a cursory look.

```

## Thiago Farina, 2014-04-02 23:05

Subject: Re: socket_perror() "bug"?
Message-ID: <CACnwZYf30KLVLkaB4mNrW12DHwrf=RT7H-DBNvQYs0y6RqVGLw@mail.gmail.com>
URL: https://gitlist.dev/e/CACnwZYf30KLVLkaB4mNrW12DHwrf%3DRT7H-DBNvQYs0y6RqVGLw%40mail.gmail.com
In-Reply-To: <xmqqy4zq3xek.fsf@gitster.dls.corp.google.com>

```
On Mon, Mar 31, 2014 at 5:50 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Thiago Farina <tfransosi@gmail.com> writes:
>
>> In imap-send.c:socket_perror() we pass |func| as a parameter, which I
>> think it is the name of the function that "called" socket_perror, or
>> the name of the function which generated an error.
>>
>> But at line 184 and 187 it always assume it was SSL_connect.
>>
>> Should we instead call perror() and ssl_socket_error() with func?
>
> Looks that way to me, at least from a cursory look.
Would you accept such a patch?

diff --git a/imap-send.c b/imap-send.c
index 0bc6f7f..bb04768 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -181,10 +181,10 @@ static void socket_perror(const char *func,
struct imap_socket *sock, int ret)
                case SSL_ERROR_NONE:
                        break;
                case SSL_ERROR_SYSCALL:
-                       perror("SSL_connect");
+                       perror(func);
                        break;
                default:
-                       ssl_socket_perror("SSL_connect");
+                       ssl_socket_perror(func);
                        break;
                }
        } else

--
Thiago Farina

```

## Junio C Hamano, 2014-04-03 19:01

Subject: Re: socket_perror() "bug"?
Message-ID: <xmqq1txeqltf.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqq1txeqltf.fsf%40gitster.dls.corp.google.com
In-Reply-To: <CACnwZYf30KLVLkaB4mNrW12DHwrf=RT7H-DBNvQYs0y6RqVGLw@mail.gmail.com>

```
Thiago Farina <tfransosi@gmail.com> writes:

> On Mon, Mar 31, 2014 at 5:50 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> Thiago Farina <tfransosi@gmail.com> writes:
>>
>>> In imap-send.c:socket_perror() we pass |func| as a parameter, which I
>>> think it is the name of the function that "called" socket_perror, or
>>> the name of the function which generated an error.
>>>
>>> But at line 184 and 187 it always assume it was SSL_connect.
>>>
>>> Should we instead call perror() and ssl_socket_error() with func?
>>
>> Looks that way to me, at least from a cursory look.
> Would you accept such a patch?

This back-and-forth makes me wonder what is going on.  Why not send
a full patch with a proper proposed commit log message to the list
and see what happens?

> diff --git a/imap-send.c b/imap-send.c
> index 0bc6f7f..bb04768 100644
> --- a/imap-send.c
> +++ b/imap-send.c
> @@ -181,10 +181,10 @@ static void socket_perror(const char *func,
> struct imap_socket *sock, int ret)
>                 case SSL_ERROR_NONE:
>                         break;
>                 case SSL_ERROR_SYSCALL:
> -                       perror("SSL_connect");
> +                       perror(func);
>                         break;
>                 default:
> -                       ssl_socket_perror("SSL_connect");
> +                       ssl_socket_perror(func);
>                         break;
>                 }
>         } else
>
> --
> Thiago Farina

```
